コード例 #1
0
 public SkillStatus()
 {
     this._prefabId     = string.Empty;
     this._seId         = string.Empty;
     this._skillType    = SkillType.Attack;
     this._name         = string.Empty;
     this._description  = string.Empty;
     this._target       = EffectTarget.Enemy;
     this._numbers      = EffectNumbers.Simple;
     this._needAp       = 0;
     this._affectEffect = new List <AffectEffectProperty>();
     this._affectEffect.Add(new AffectEffectProperty());
     this._returnAffectEffect.AddRange(this._affectEffect);
 }
コード例 #2
0
 public AffectEffectProperty(AffectEffect type, int skillId, int subSkillId, float hitRate, EffectTarget target, EffectNumbers effectNumbers, int[] intValue, float[] floatValue, bool useDrain, PowerType powerType, TechniqueType techniqueType, global::Attribute attribute, bool isMissThrough)
 {
     this._type          = type;
     this.skillId        = skillId;
     this.subSkillId     = subSkillId;
     this.hitRate        = hitRate;
     this._techniqueType = techniqueType;
     this._attribute     = attribute;
     this.target         = target;
     this._effectNumbers = effectNumbers;
     this._powerType     = powerType;
     this._floatValue    = floatValue;
     this._intValue      = intValue;
     this.useDrain       = useDrain;
     this.isMissThrough  = isMissThrough;
 }
コード例 #3
0
 public SkillStatus(string skillId, string prefabId, string seId, SkillType skillType, string name, string description, EffectTarget target, EffectNumbers numbers, int needAp, string useCountType, int useCountValue, params AffectEffectProperty[] affectEffect)
 {
     this.skillId        = skillId;
     this._prefabId      = prefabId;
     this._seId          = seId;
     this._skillType     = skillType;
     this._name          = name;
     this._description   = description;
     this._target        = target;
     this._numbers       = numbers;
     this._needAp        = needAp;
     this._useCountType  = useCountType;
     this._useCountValue = useCountValue;
     this._affectEffect  = new List <AffectEffectProperty>(affectEffect);
     this._returnAffectEffect.AddRange(this._affectEffect);
 }
コード例 #4
0
    public void SetTarget(CharacterStateControl currentCharacter, CharacterStateControl targetCharacter = null)
    {
        CharacterStateControl characterStateControl = targetCharacter;
        bool        flag = characterStateControl == null || characterStateControl.isDied;
        SkillStatus currentSkillStatus = currentCharacter.currentSkillStatus;

        if (currentSkillStatus == null)
        {
            return;
        }
        CharacterStateControl[] skillTargetList = this.GetSkillTargetList(currentCharacter, currentSkillStatus.target);
        bool flag2 = true;

        if (characterStateControl != null)
        {
            foreach (CharacterStateControl a in skillTargetList)
            {
                if (a == characterStateControl)
                {
                    flag2 = false;
                    break;
                }
            }
        }
        if (flag || flag2)
        {
            int currentTargettingCharacter = this.GetCurrentTargettingCharacter(currentSkillStatus.target);
            foreach (CharacterStateControl characterStateControl2 in skillTargetList)
            {
                if (characterStateControl2.myIndex == currentTargettingCharacter)
                {
                    characterStateControl = characterStateControl2;
                    break;
                }
            }
            if (characterStateControl == null)
            {
                characterStateControl = skillTargetList[0];
            }
        }
        List <CharacterStateControl> list = new List <CharacterStateControl>();
        EffectNumbers numbers             = currentSkillStatus.numbers;

        if (numbers != EffectNumbers.Simple)
        {
            if (numbers == EffectNumbers.All)
            {
                list.AddRange(skillTargetList);
            }
        }
        else
        {
            list.Add(characterStateControl);
        }
        for (int k = 0; k < base.battleStateData.maxCharacterLength; k++)
        {
            if (k < list.Count)
            {
                this.ShowTargetIcon(k, list[k], currentSkillStatus);
            }
            else
            {
                this.HideTargetIcon(k);
            }
        }
        currentCharacter.targetCharacter = characterStateControl;
        this.SetCurrentTargettingCharacter(currentCharacter.currentSkillStatus.target, currentCharacter.targetCharacter.myIndex);
        BattleStateManager.current.cameraControl.PlayTweenCameraMotion(base.battleStateData.commandSelectTweenTargetCamera, currentCharacter.targetCharacter);
    }