示例#1
0
    public void SetCameraMode(int nMode, Vector3 vePos, float fAngle)
    {
        if (this.m_nCurrentCameraMode == nMode)
        {
            return;
        }
        GameObject gameObject = TsSceneSwitcher.Instance._GetSwitchData_RootSceneGO(TsSceneSwitcher.ESceneType.BattleScene);

        if (gameObject == null)
        {
            return;
        }
        Transform child = NkUtil.GetChild(gameObject.transform, "Main Camera");

        if (child == null)
        {
            return;
        }
        maxCamera component = child.GetComponent <maxCamera>();

        if (nMode != 1)
        {
            if (!NrBattleCamera.m_BackupCameraData.checkbackup)
            {
                NrBattleCamera.m_BackupCameraData.distance        = component.distance;
                NrBattleCamera.m_BackupCameraData.xDeg            = component.xDeg;
                NrBattleCamera.m_BackupCameraData.yDeg            = component.yDeg;
                NrBattleCamera.m_BackupCameraData.currentDistance = component.currentDistance;
                NrBattleCamera.m_BackupCameraData.desiredDistance = component.desiredDistance;
                NrBattleCamera.m_BackupCameraData.CameraLevel     = component.m_nCameraLevel;
                NrBattleCamera.m_BackupCameraData.checkbackup     = true;
            }
            component.SetCameraMode(nMode, vePos, fAngle);
        }
        else
        {
            component.SetCameraMode(nMode, vePos, fAngle);
            this.CameraDataRestore();
            NrBattleCamera.m_BackupCameraData.checkbackup = false;
        }
        this.m_nCurrentCameraMode = nMode;
    }
示例#2
0
    public void CloseBattle()
    {
        this.SetLastAttackCamera(null, false);
        GameObject gameObject = TsSceneSwitcher.Instance._GetSwitchData_RootSceneGO(TsSceneSwitcher.ESceneType.BattleScene);

        if (gameObject == null)
        {
            return;
        }
        Transform child = NkUtil.GetChild(gameObject.transform, "Main Camera");

        if (child == null)
        {
            return;
        }
        maxCamera component = child.GetComponent <maxCamera>();

        if (this.m_nCurrentCameraMode != 1)
        {
            component.SetCameraMode(1, Vector3.zero, 0f);
        }
        if (!component.enabled && NrBattleCamera.m_BackupCameraData.trParent != null)
        {
            child.parent      = NrBattleCamera.m_BackupCameraData.trParent;
            component.enabled = true;
            NrBattleCamera.m_BackupCameraData.trParent = null;
        }
        UnityEngine.Object.Destroy(this.m_TargetGo);
        component.m_bBattleCamera = false;
        NrBattleCamera.m_BackupCameraData.distance        = component.distance;
        NrBattleCamera.m_BackupCameraData.xDeg            = component.xDeg;
        NrBattleCamera.m_BackupCameraData.yDeg            = component.yDeg;
        NrBattleCamera.m_BackupCameraData.currentDistance = component.currentDistance;
        NrBattleCamera.m_BackupCameraData.desiredDistance = component.desiredDistance;
        NrBattleCamera.m_BackupCameraData.CameraLevel     = component.m_nCameraLevel;
        NrBattleCamera.m_BackupCameraData.checkbackup     = true;
        NrBattleCamera.m_BackupCameraData.trParent        = null;
    }
    public bool SetPlunderCamera()
    {
        GameObject gameObject = TsSceneSwitcher.Instance._GetSwitchData_RootSceneGO(TsSceneSwitcher.ESceneType.SoldierBatchScene);

        if (gameObject == null)
        {
            return(false);
        }
        Transform child = NkUtil.GetChild(gameObject.transform, "Main Camera");

        if (child == null)
        {
            return(false);
        }
        Transform child2 = NkUtil.GetChild(gameObject.transform, "battle_terrain");

        if (child2 == null)
        {
            return(false);
        }
        if (this.m_TargetGo != null)
        {
            this.m_TargetGo.name = "SoldierBatchCameraTarget";
        }
        else
        {
            this.m_TargetGo = GameObject.Find("SoldierBatchCameraTarget");
            if (this.m_TargetGo == null)
            {
                this.m_TargetGo = new GameObject("SoldierBatchCameraTarget");
            }
        }
        Vector3 position = child.transform.position;

        this.m_TargetGo.transform.position = position;
        maxCamera component = child.GetComponent <maxCamera>();
        Transform child3    = NkUtil.GetChild(this.m_TargetGo.transform, "CameraTarget");

        if (child3 != null)
        {
            this.m_goTargetAni = child3.gameObject;
        }
        component.m_bBattleCamera = true;
        component.m_nCameraLevel  = 3;
        if (this.m_goTargetAni != null)
        {
            component.target = this.m_goTargetAni.transform;
        }
        else
        {
            component.target = this.m_TargetGo.transform;
        }
        component.Init();
        this.currentDistance = this.m_TargetGo.transform.position.y;
        this.desiredDistance = this.m_TargetGo.transform.position.y;
        if (Application.isEditor)
        {
            Transform  child4      = NkUtil.GetChild(gameObject.transform, "CAMERATARGETCUBE");
            GameObject gameObject2 = null;
            if (child4 != null)
            {
                gameObject2 = child4.gameObject;
            }
            if (gameObject2 == null)
            {
                gameObject2 = GameObject.CreatePrimitive(PrimitiveType.Cube);
                Collider component2 = gameObject2.GetComponent <Collider>();
                UnityEngine.Object.Destroy(component2);
                gameObject2.transform.parent        = this.m_TargetGo.transform;
                gameObject2.transform.localPosition = Vector3.zero;
                gameObject2.transform.localScale    = new Vector3(0.1f, 0.1f, 0.1f);
                gameObject2.name = "CAMERATARGETCUBE";
            }
            MeshRenderer component3 = gameObject2.GetComponent <MeshRenderer>();
            if (component3 != null)
            {
                component3.material = new Material(component3.sharedMaterial)
                {
                    color = new Color(1f, 0f, 0f)
                };
            }
        }
        TsSceneSwitcher.Instance.Collect(TsSceneSwitcher.ESceneType.SoldierBatchScene, this.m_TargetGo);
        child.camera.useOcclusionCulling = false;
        if (SoldierBatch.SOLDIER_BATCH_MODE == eSOLDIER_BATCH_MODE.MODE_MYTHRAID)
        {
            component.SetCameraMode(6, Vector3.zero, 0f);
        }
        else
        {
            component.SetCameraMode(5, Vector3.zero, 0f);
        }
        component.CameraWork();
        return(true);
    }