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()); }
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); } }
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); } } } }
public void Init(BehaviourController controller) { _controller = controller; }