Exemplo n.º 1
0
    public override void OnSpawned(GameObject go)
    {
        base.OnSpawned(go);

        cc = go.GetComponent <WhiteCat.BehaviourController>();

//		cc.creationData.m_Hp = HP;
//		cc.creationData.m_Fuel = Fuel;
        _viewTrans          = go.GetComponent <PeTrans> ();
        _viewTrans.position = transform.position;

        StartCoroutine(AuthorityCheckCoroutine());
    }
Exemplo n.º 2
0
        public void Init(int weaponIndex)
        {
            _controller  = GetComponentInParent <BehaviourController>();
            _weaponParam = new SkCarrierCanonPara(weaponIndex);
            enabled      = true;

            _muzzleLocalCenter = Vector3.zero;
            for (int i = 0; i < _muzzles.Length; i++)
            {
                _muzzleLocalCenter += _muzzles[i].localPosition;
            }
            _muzzleLocalCenter /= _muzzles.Length;

            _realMuzzles = new Transform[_muzzles.Length];
            for (int i = 0; i < _muzzles.Length; i++)
            {
                _realMuzzles[i] = new GameObject("RealMuzzle").transform;
                _realMuzzles[i].SetParent(_muzzles[i], false);
            }
        }
Exemplo n.º 3
0
        public void Register(int id, Transform caster, SkRuntimeInfo info, int index = 0, bool immediately = false)
        {
            ProjectileData projectileData = ProjectileData.GetProjectileData(id);

            if (projectileData == null)
            {
                return;
            }

            Transform emitter = null;

            if (!string.IsNullOrEmpty(projectileData._bone) && "0" != projectileData._bone)
            {
                PeEntity entity = caster.GetComponent <PeEntity>();
                if (null != entity)
                {
                    emitter = entity.GetChild(projectileData._bone);
                }
                else
                {
                    emitter = PETools.PEUtil.GetChild(caster, projectileData._bone);
                }
            }

            Transform trans = null;

            if (info.Target != null)
            {
                PeTrans tr = info.Target.GetComponent <PeTrans>();
                if (tr != null)
                {
                    trans = tr.trans;
                }
            }

            ShootTargetPara    shoot = info.Para as ShootTargetPara;
            SkCarrierCanonPara canon = info.Para as SkCarrierCanonPara;

            if (shoot != null)
            {
                if (emitter != null)
                {
                    Register(id, caster, emitter, shoot.m_TargetPos, index, immediately);
                }
            }
            else if (canon != null)
            {
                WhiteCat.BehaviourController drive = info.Caster.GetComponent <WhiteCat.BehaviourController>();
                IProjectileData data = drive.GetProjectileData(canon);
                if (trans != null)
                {
                    Register(id, caster, data.emissionTransform, trans, index, immediately);
                }
                else
                {
                    Register(id, caster, data.emissionTransform, data.targetPosition, index, immediately);
                }
            }
            else
            {
                if (emitter != null)
                {
                    if (emitter != null)
                    {
                        Register(id, caster, emitter, trans, index, immediately);
                    }
                }
            }
        }
Exemplo n.º 4
0
 public void Init(BehaviourController controller)
 {
     _controller = controller;
 }