1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- using UnityEngine;
- using System.Collections;
- using System.Collections.Generic;
- namespace YLBattle
- {
- /// <summary>
- ///
- /// </summary>
- public class SkillPolicyFinder
- {
- /// <summary>
- /// 单键实例
- /// </summary>
- private static SkillPolicyFinder _Instance = null;
- /// <summary>
- /// 瞄准策略
- /// </summary>
- private Dictionary<ESkillAIM, SkillAIMFoundation> mAIMPolicy = new Dictionary<ESkillAIM, SkillAIMFoundation>();
- /// <summary>
- /// 单键实例
- /// </summary>
- /// <returns>单键</returns>
- public static SkillPolicyFinder Instance()
- {
- if (null == _Instance)
- {
- _Instance = new SkillPolicyFinder();
- }
- return _Instance;
- }
- /// <summary>
- /// 构造函数
- /// </summary>
- protected SkillPolicyFinder()
- {
- this.mAIMPolicy.Clear();
- this.InitializeAIMPolicy();
- }
- /// <summary>
- /// 查询AIM
- /// </summary>
- /// <param name="type">查询类型</param>
- /// <returns>AIM瞄准策略</returns>
- public SkillAIMFoundation AIMFoundation(ESkillAIM type)
- {
- if (this.mAIMPolicy.ContainsKey(type))
- {
- return (SkillAIMFoundation)this.mAIMPolicy[type].Clone();
- }
- return null;
- }
- /// <summary>
- ///
- /// </summary>
- private void InitializeAIMPolicy()
- {
- this.mAIMPolicy.Add(ESkillAIM.Map, new SkillAIMMap());
- this.mAIMPolicy.Add(ESkillAIM.Screen, new SkillAIMScreen());
- this.mAIMPolicy.Add(ESkillAIM.Center, new SkillAIMCenter());
- }
- }
- }
|