Пример #1
0
    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);
    }
Пример #2
0
    public bool SetBattleCamera(ref NrBattleMap battleMap)
    {
        GameObject gameObject = TsSceneSwitcher.Instance._GetSwitchData_RootSceneGO(TsSceneSwitcher.ESceneType.BattleScene);

        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);
        }
        Transform child3 = NkUtil.GetChild(gameObject.transform, "@battlemap");

        if (child3 != null)
        {
            Transform child4 = NkUtil.GetChild(child3, "normal1");
            if (child4 != null)
            {
                child4.gameObject.SetActive(true);
            }
        }
        if (Battle.BATTLE.CameraTarget != null)
        {
            this.m_TargetGo = (UnityEngine.Object.Instantiate(Battle.BATTLE.CameraTarget) as GameObject);
            this.m_TargetGo.SetActive(true);
        }
        if (this.m_TargetGo != null)
        {
            this.m_TargetGo.name = "BattleCameraTarget";
        }
        else
        {
            this.m_TargetGo = GameObject.Find("BattleCameraTarget");
            if (this.m_TargetGo == null)
            {
                this.m_TargetGo = new GameObject("BattleCameraTarget");
            }
        }
        Vector3 vector = child.position;

        vector.y = battleMap.GetBattleMapHeight(vector);
        if (vector.y == 0f)
        {
            vector = battleMap.GetBattleMapCenterPos();
        }
        this.m_TargetGo.transform.position = vector;
        maxCamera component = child.GetComponent <maxCamera>();
        Transform child5    = NkUtil.GetChild(this.m_TargetGo.transform, "CameraTarget");

        if (child5 != null)
        {
            this.m_goTargetAni = child5.gameObject;
        }
        component.m_bBattleCamera = true;
        if (Battle.BATTLE.BattleRoomtype != eBATTLE_ROOMTYPE.eBATTLE_ROOMTYPE_BABELTOWER && Battle.BATTLE.BattleRoomtype != eBATTLE_ROOMTYPE.eBATTLE_ROOMTYPE_BOUNTYHUNT)
        {
            component.m_nCameraLevel = 3;
        }
        else if (Battle.BabelPartyCount > 1)
        {
            component.m_nCameraLevel = 1;
        }
        else
        {
            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.CameraAniStop();
        GameObject gameObject2 = GameObject.Find("bp1");
        GameObject gameObject3 = GameObject.Find("bp2");

        if (gameObject2 != null && gameObject3 != null)
        {
            this.m_fMoveLimitX = gameObject2.transform.position.x;
            this.m_fMoveLimitZ = gameObject2.transform.position.z;
            this.m_fMapXSize   = gameObject3.transform.position.x;
            this.m_fMapZSize   = gameObject3.transform.position.z;
        }
        else
        {
            this.m_fMapXSize = (float)battleMap.GetSizeX() - this.m_fMoveLimitX;
            this.m_fMapZSize = (float)battleMap.GetSizeY() - this.m_fMoveLimitZ;
        }
        this.currentDistance = this.m_TargetGo.transform.position.y;
        this.desiredDistance = this.m_TargetGo.transform.position.y;
        if (Application.isEditor)
        {
            Transform  child6      = NkUtil.GetChild(gameObject.transform, "CAMERATARGETCUBE");
            GameObject gameObject4 = null;
            if (child6 != null)
            {
                gameObject4 = child6.gameObject;
            }
            if (gameObject4 == null)
            {
                gameObject4 = GameObject.CreatePrimitive(PrimitiveType.Cube);
                Collider component2 = gameObject4.GetComponent <Collider>();
                UnityEngine.Object.Destroy(component2);
                gameObject4.transform.parent        = this.m_TargetGo.transform;
                gameObject4.transform.localPosition = Vector3.zero;
                gameObject4.transform.localScale    = new Vector3(0.1f, 0.1f, 0.1f);
                gameObject4.name = "CAMERATARGETCUBE";
            }
            MeshRenderer component3 = gameObject4.GetComponent <MeshRenderer>();
            if (component3 != null)
            {
                component3.material = new Material(component3.sharedMaterial)
                {
                    color = new Color(1f, 0f, 0f)
                };
            }
        }
        TsSceneSwitcher.Instance.Collect(TsSceneSwitcher.ESceneType.BattleScene, this.m_TargetGo);
        child.camera.useOcclusionCulling = false;
        Camera component4 = child.GetComponent <Camera>();

        if (component4 != null && component4.renderingPath != RenderingPath.Forward)
        {
            component4.renderingPath = RenderingPath.Forward;
        }
        return(true);
    }
Пример #3
0
    //----------------------------------------------------------------------------------------------------------------
    // Use this for initialization
    void Start()
    {
        replayControl = GameObject.Find("replayControl");
        ctunity       = GameObject.Find("CTunity").GetComponent <CTunity>(); // reference CTgroupstate script
        gameOptions   = GameObject.Find("Setup").gameObject;

        // define menu objects
        myCamera = GameObject.Find("Main Camera").GetComponent <maxCamera>();

        Server   = GameObject.Find("Server");
        Session  = GameObject.Find("Session");
        Player   = GameObject.Find("Player1");
        Deploy   = GameObject.Find("Deploy");
        Login    = GameObject.Find("Login");
        User     = GameObject.Find("User");
        Password = GameObject.Find("Password");

        // setup callbacks

        Button[] buttons = gameObject.GetComponentsInChildren <Button>();
        foreach (Button b in buttons)
        {
            switch (b.name)
            {
            case "Login":
                b.onClick.AddListener(loginButton);
                break;

            case "Quit":
                b.onClick.AddListener(quitButton);
                break;
            }
        }

        Dropdown[] drops = gameObject.GetComponentsInChildren <Dropdown>();
        foreach (Dropdown d in drops)
        {
            switch (d.name)
            {
            case "Session":
                //                    ctunity.Session = d.GetComponent<Dropdown>().options[d.value].text;  // initialize
                // add listener to update session settings
                d.onValueChanged.AddListener(delegate
                {
                    ctunity.Session = d.GetComponent <Dropdown>().options[d.value].text; // set selected session
                    updateSession();
                    myCamera.setTarget(null);                                            // reset cam target to default
                    myCamera.Init();

                    if (playerDrop != null)
                    {
                        ctunity.Player = playerDrop.GetComponent <Dropdown>().options[0].text;
                        ctunity.serverConnect();      // reset player path
                        playerDrop.value = 0;
                    }
                });

                break;

            case "Deploy":
                // add listener to deploy new world
                d.onValueChanged.AddListener(delegate
                                             { if (d.value != 0)
                                               {
                                                   string svalue = d.GetComponent <Dropdown>().options[d.value].text;

                                                   if (svalue.Equals(ctunity.Save))
                                                   {
                                                       ctunity.SnapShot();
                                                       //	StartCoroutine("getInventoryList");         // update list of "World" prefabs
                                                   }
                                                   else if (svalue.Equals(ctunity.Clear))
                                                   {
                                                       ctunity.clearWorld();
                                                   }
                                                   else if (svalue.Equals(ctunity.Load))
                                                   {
                                                       ctunity.clearWorld();
                                                       ctunity.loadWorld();
                                                   }
                                                   else
                                                   {
                                                       ctunity.deployInventory(svalue);
                                                   }

                                                   d.value = 0; // reset to blank
                                               }
                                             });

                break;

            case "Player1":
                playerDrop     = d;
                ctunity.Player = d.GetComponent <Dropdown>().options[d.value].text;         // init?
                //  playerDrop.GetComponent<Button>().onClick.AddListener(onClick);
                d.onValueChanged.AddListener(delegate
                {
                    String player = d.GetComponent <Dropdown>().options[d.value].text;
//                        Debug.Log("onValueChanged, d.value: " + d.value + ", ctunity.Player: " + ctunity.Player + ", player: " + player);
                    if (!player.Equals(ctunity.Player))
                    {
                        updateSession();                      // avoid new player set as child of prior player?
                        ctunity.Player = player;
//                           Debug.Log("new Player: " + player + ", d.value: " + d.value);
                        ctunity.serverConnect();      // reset player path
                    }
                    replayControl.SetActive(ctunity.observerMode());
                });
                break;
            }
        }

        modeSelect();
    }