Beispiel #1
0
    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> ();
    }
Beispiel #2
0
    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);
    }
Beispiel #3
0
    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);
        }
    }