示例#1
0
 public override void Init(FCObject owner)
 {
     base.Init(owner);
     //we must name the module of parry attack to ParryFire and ParrySuccess and ParryEnd
     _parryCost        = _owner.ACOwner.ACGetAttackByName("ParryFire")._energyCost;
     _parrySuccessCost = _owner.ACOwner.ACGetAttackByName("ParrySuccess")._energyCost;
 }
示例#2
0
    public void Init(FCObject owner)
    {
        _owner = owner as ActionController;
        foreach (FCSkill es in _skills)
        {
            foreach (FCAttackConfig eac in es._attackConfigs)
            {
                eac.AttackModule = GetAttack(eac._attackModuleName);
                //bool isdefy = false;
                foreach (string ds in es._defyModule)
                {
                    if (ds == eac.AttackModule._name)
                    {
                        eac.AttackModule.IsInDefy = true;
                        break;
                    }
                }
            }
        }

        for (int i = 0; i < _skillMaps.Length; i++)
        {
            FCSkillConfig[] sc = _skillMaps[i]._skillConfigs;
            for (int j = 0; j < sc.Length; j++)
            {
                sc[j].SkillModule      = GetSkill(sc[j]._skillName);
                sc[j]._distanceMinSqrt = sc[j].SkillModule._attackConfigs[0].AttackModule._distanceMin
                                         * sc[j].SkillModule._attackConfigs[0].AttackModule._distanceMin;
                sc[j]._distanceMaxSqrt = sc[j].SkillModule._attackConfigs[0].AttackModule._distanceMax
                                         * sc[j].SkillModule._attackConfigs[0].AttackModule._distanceMax;
            }
        }
        WriteInfoToFirstAttack();
    }
示例#3
0
 public OBJECT_ID(FCObject iobjw, FC_OBJECT_TYPE eot)
 {
     _id         = tempObjID++; //iobjw.GetInstanceID();
     _networkId  = -1;
     _fcObj      = iobjw;
     _objectType = eot;
 }
示例#4
0
 public void Init(FCObject owner)
 {
     _owner       = owner as AIAgent;
     _currentRage = 0;
     _skillsForRage.Clear();
     _owner.AttackCountAgent.GetRageSkills(ref _skillsForRage);
     if (_distanceFarForRage <= 0)
     {
         _disSqrtFar = -1;
     }
     else
     {
         _disSqrtFar = _distanceFarForRage * _distanceFarForRage;
     }
     if (_distanceNearForRage <= 0)
     {
         _disSqrtNear = -1;
     }
     else
     {
         _disSqrtNear = _distanceNearForRage * _distanceNearForRage;
     }
     foreach (RageCell rc in _rageEventAll)
     {
         rc.Init(this);
     }
 }
示例#5
0
    public void Init(FCObject owner)
    {
        _owner              = owner;
        _isInMoveS          = false;
        _isInMoveD          = false;
        _isInNavPathFinding = false;
        _currentSpeed       = 0;
        _moveDirection      = Vector3.zero;
        _fastCommand        = new FCCommand();
        _thisRigidBody      = _owner.rigidbody;
        if (_thisRigidBody != null)
        {
            _thisRigidBody.drag        = 100;
            _thisRigidBody.isKinematic = true;
        }
        _currentMoveLengthCount = 0;
        _currentMoveLength      = 0;

        _characterController = _owner.GetComponent <CharacterController>();

        _fastCommand.Set(FCCommand.CMD.STOP, owner.ObjectID, FCCommand.STATE.RIGHTNOW, true);
        if (_navAgent != null)
        {
            _navAgent.radius  = 0;
            _navAgent.enabled = false;
            _defaultRaduis    = _navAgent.radius;
        }
        _rotateDirection = _owner.ThisTransform.forward;
        if (_fallHeight <= 0)
        {
            _fallHeight = 1;
        }
        //_gReadAccel.y =  FC_CONST.REAL_G;
    }
示例#6
0
 public override void SetOwner(FCObject owner)
 {
     _owner = owner as ActionController;
     if (_owner)
     {
         _owner.RegisterToWeaponList(this);
     }
 }
示例#7
0
 public void Init(FCObject owner)
 {
     _owner              = owner as AIAgent;
     _currentHitType     = AttackHitType.None;
     _attackerType       = FCWeapon.WEAPON_HIT_TYPE.NONE;
     _hurtInfoForClient  = Quaternion.identity;
     _hurtInfoForClient2 = Quaternion.identity;
 }
示例#8
0
 public void Init(FCObject owner)
 {
     _owner          = owner as AIAgent;
     _inState        = false;
     _isOver         = true;
     _currentSkillID = -1;
     _nextSkillID    = -1;
     _attackAgent    = _owner.ACOwner.ACGetAttackAgent();
 }
示例#9
0
 public override void Init(FCObject owner)
 {
     base.Init(owner);
     _isRangerBullet = false;
     if (_path != null)
     {
         _seekPointMode = 1;
     }
 }
示例#10
0
 public void Init(FCObject owner)
 {
     _owner = owner as AIAgent;
     for (int i = 0; i < _keyCache.Length; i++)
     {
         _keyCache[i]           = new KeyAndAction();
         _keyCache[i]._beActive = true;
         _keyCache[i]._beEnable = true;
     }
 }
示例#11
0
 public void Init(FCObject owner)
 {
     _owner = owner as ActionController;
     for (int i = 0; i < _threatTable._length; i++)
     {
         _threatTable._threatList[i] = -1;
         _threatTable._targetList[i] = null;
         _threatTable._count         = 0;
     }
 }
示例#12
0
 public virtual void Init(FCObject owner)
 {
     _owner   = owner as ActionController;
     _faction = _owner.Faction;
     if (_shakeLevel == EnumShakeEffect.shake3_loop)
     {
         _haveShakeLoop = true;
     }
     else
     {
         _haveShakeLoop = false;
     }
 }
示例#13
0
 public void Init(FCObject owner)
 {
     _owner = owner as AIAgent;
     if (_owner.PathName != null && _owner.PathName != "")
     {
         GameObject gb = LevelManager.Singleton.PathManager.transform.FindChild(_owner.PathName).gameObject;
         _path = gb.GetComponent <FCPath>();
     }
     if (_path)
     {
         _path.GetPath(out _realPathnodes);
     }
 }
示例#14
0
    public bool SendFast(ref FCCommand ewd, FCObject eb)
    {
        if (ewd._cmd == FCCommand.CMD.INVALID)
        {
            return(false);
        }

        if (ewd._cmd == FCCommand.CMD.ATTACK_HIT_TARGET)
        {
            ActionController ac = ewd._param1 as ActionController;
            if (ac.IsPlayerSelf)
            {
                //ac.
            }
        }
        return(eb.ObjectID.HandleCommand(ref ewd));
    }
示例#15
0
    public void Init(FCObject owner)
    {
        _owner         = owner as ActionController;
        _energyCurrent = _owner.Energy;
        if (LevelManager.Singleton.TotalCounter == null)
        {
            LevelManager.Singleton.TotalCounter = new float[(int)LevelManager.VarNeedCount.MAX];
        }
        for (int i = 0; i < _skillTime.Length; i++)
        {
            //LevelManager.Singleton.TotalCounter[i+(int)LevelManager.VarNeedCount.SKILL_1_ENG_COST] = 2000;
        }
        LevelManager.Singleton.TotalCounter[(int)LevelManager.VarNeedCount.ENERGY_MAX] = _energyCurrent;
        _maxAttackPoint = _owner.Data.TotalAttack / 3;
        LevelManager.Singleton.TotalCounter[(int)LevelManager.VarNeedCount.ENERGY_CURRENT] = _energyCurrent;

        //_maxAttackPoint = _owner.Data.BaseDamage
    }
示例#16
0
    public void Init(FCObject owner)
    {
        _owner       = owner as ActionController;
        forceRefresh = false;

        for (int i = 0; i < passiveSkills.Length; i++)
        {
            passiveSkills[i].beActive = false;
        }

        for (int i = 0; i < passiveSkillMaps.Length; i++)
        {
            foreach (FCPassiveSkillConfig psc in passiveSkillMaps[i]._skillConfigs)
            {
                psc.SkillModule          = GetSkill(psc._skillName);
                psc.SkillModule.beActive = true;
            }
        }
    }
 public override void Init(FCObject owner)
 {
     base.Init(owner);
     if (_battleCharEffect == null)
     {
         GameObject battleEffectPrefab = InJoy.AssetBundles.AssetBundles.Load(_battleEffectPrefabName, typeof(GameObject)) as GameObject;
         //create instance
         GameObject instance = GameObject.Instantiate(battleEffectPrefab) as GameObject;
         instance.transform.parent        = _owner.ACOwner.ThisTransform;
         instance.transform.localPosition = Vector3.zero;
         instance.transform.localRotation = Quaternion.identity;
         instance.transform.localScale    = new Vector3(1f, 1f, 1f);
         //get component
         _battleCharEffect = instance.GetComponentInChildren <BattleCharEffect>();
         if (_battleCharEffect != null)
         {
             _battleCharEffect.PrepareEffect();
         }
     }
 }
示例#18
0
 public void Init(FCObject owner)
 {
     _owner = owner as ActionController;
 }
示例#19
0
 public void Init(FCObject ewb)
 {
     _owner = ewb as ActionController;
 }
示例#20
0
 public override void Init(FCObject owner)
 {
     base.Init(owner);
     _parryCost        = _owner.ACOwner.ACGetAttackByName("ParryFire")._energyCost;
     _parrySuccessCost = _owner.ACOwner.ACGetAttackByName("ParrySuccess")._energyCost;
 }
示例#21
0
 public void AddWatch(FCObject eobj)
 {
     _clients.Add(eobj);
 }
示例#22
0
 public override void Init(FCObject owner)
 {
     _owner = owner as AIAgent;
 }
示例#23
0
 public void Init(FCObject owner)
 {
     _owner = owner as ActionController;
     //EquipAll();
 }
示例#24
0
 public override void Init(FCObject owner)
 {
     base.Init(owner);
 }
示例#25
0
 public void RemoveWatch(FCObject eobj)
 {
     _clients.Remove(eobj);
 }
示例#26
0
 public void Init(FCObject eb)
 {
     _owner = eb as AIAgent;
     _eotList.Clear();
     _eotFlag = 0;
 }
示例#27
0
 public static bool IsNull(FCObject obj) // 检测对象是不是空指针
 {
     return(false);
 }
示例#28
0
 public override void Init(FCObject owner)
 {
     base.Init(owner);
     _isRangerBullet = true;
 }
示例#29
0
 public virtual void SetOwner(FCObject owner)
 {
 }
    public override void Init(FCObject owner)
    {
        base.Init(owner);

        _owner.ACOwner._onACDead += OnACOwnerDead;
    }