private void Action() { GameUnit.GameUnit unit = (GameUnit.GameUnit) this.GetSelectingUnits()[0]; Vector3 unitCoordinate = BattleMap.BattleMap.Instance().GetUnitCoordinate(unit); AbilityFormat ability = AbilityDatabase.GetInstance().GetAbilityFormat("Arrowrain"); Gameplay.Instance().gamePlayInput.HandleSkillConfim(unitCoordinate, (int)ability.AbilityVariable.Range);//显示技能可释放范围(攻击范围) //GamePlay.Gameplay.Instance().gamePlayInput.isSkill = true;//可以发动技能 }
private void Start() { arrowrRain = AbilityDatabase.GetInstance().GetAbilityFormat("Arrowrain"); range = (int)arrowrRain.AbilityVariable.Range; damage = (int)arrowrRain.AbilityVariable.Damage; //创建Trigger实例,传入技能的发动者 trigger = new TArrowrain(this.GetCardReceiver(this)); //注册Trigger进消息中心 MsgDispatcher.RegisterMsg(trigger, "Arrowrains"); }
/// <summary> /// 从异能数据库加载对应异能的参数 /// </summary> /// <param name="AbilityID">要加载的异能的ID</param> protected void InitialAbility(string AbilityID) { AbilityFormat abilityFormat = AbilityDatabase.GetInstance().GetAbilityFormat(AbilityID); //用序列化拷贝AbilityTargetList; Stream stream = GameUtility.Serializer.InstanceDataToMemory(abilityFormat.AbilityTargetList); stream.Position = 0; this.AbilityTargetList = (List <AbilityTarget>)GameUtility.Serializer.MemoryToInstanceData(stream); //用序列化拷贝AbilityVariable stream = GameUtility.Serializer.InstanceDataToMemory(abilityFormat.AbilityVariable); stream.Position = 0; this.AbilityVariable = (AbilityVariable)GameUtility.Serializer.MemoryToInstanceData(stream); //Debug.Log("Success copy AbilityVariable"); //拷贝变量 this.AbilityID = abilityFormat.AbilityID; this.Group = abilityFormat.Group; this.AbilityName = abilityFormat.AbilityName; this.Description = abilityFormat.Description; this.TriggerID = abilityFormat.TriggerID; }
private void Awake() { //导入Arrowrain异能的参数 arrowrRain = AbilityDatabase.GetInstance().GetAbilityFormat("Arrowrain"); InitialAbility("Arrowrain"); }