public UnitStateFire(Unit unit) { this.unit = unit; _shootInterval = unit.unit.dataUnit.fireInterval * 1000; _enterTimestamp = TimeHelper.GetCurrentTimestampScaled(); _spineAttach = unit.GetComponent <TankSpineAttach> (); _cameraControl = GameObject.FindGameObjectWithTag(AppConfig.TAB_MAIN_CAMERA).GetComponent <CameraControl> (); }
public bool GetFireMousePosition(out Vector3 position) { TankSpineAttach spineAttach = GetComponent <TankSpineAttach> (); Spine.Bone boneMouse = spineAttach.GetBoneMouse(); if (boneMouse != null) { Vector3 bPoint = new Vector3(boneMouse.WorldX, boneMouse.WorldY, 0); Vector3 wPoint = spineAttach.spine.transform.TransformPoint(bPoint); // float height = 2.4f * unit.dataUnit.length / 10; // position = GeometryHelper.ProjectPointToPlane(wPoint, height, _game.mapCamera.cameraControl.orientation); position = wPoint; return(true); } position = transform.position; return(false); }
public void Init(InstanceUnit unit, DataConfig.TEAM team, Vector3 fightPos, int slotIndex) { this._unit = unit; this._team = team; gameObject.transform.position = fightPos; _slotIndex = slotIndex; if (team == DataConfig.TEAM.ENEMY) { RenderHelper.ChangeWholeModelColor(gameObject, Color.blue); } TankSpineAttach spine = GetComponent <TankSpineAttach> (); if (spine != null) { spine.Attach(gameObject, unit.dataUnit.asset); } }