Esempio n. 1
0
    public void SetForceCharPos(float x, float z)
    {
        Vector3     vector    = new Vector3(x, 0f, z);
        NrBattleMap battleMap = Battle.BATTLE.GetBattleMap();

        if (battleMap == null)
        {
            return;
        }
        vector.y = battleMap.GetBattleMapHeight(vector) + 0.3f;
        this.m_pkChar.m_k3DChar.GetRootGameObject().transform.position = vector;
        this.m_pkChar.m_k3DChar.GetCharController().transform.position = vector;
        this.SetCharPos(this.m_pkChar.m_k3DChar.GetRootGameObject());
    }
Esempio n. 2
0
    public void CameraUpdate(ref NrBattleMap BattleMap)
    {
        if (this.m_TargetGo == null)
        {
            return;
        }
        NrTSingleton <NkBattleCharManager> .Instance.SyncBillboardRotate();

        if (this.m_bSetCameraTrigger)
        {
            if (Time.time - this.m_fTriggerStartTime < this.m_fActionTime)
            {
                Vector3 pos = Vector3.zero;
                pos = Vector3.Lerp(this.m_veTriggerStartPos, this.m_veTriggerEndPos, (Time.time - this.m_fTriggerStartTime) / this.m_fActionTime);
                if (this.m_bCalcheight)
                {
                    this.currentDistance = this.m_TargetGo.transform.position.y;
                    this.desiredDistance = BattleMap.GetBattleMapHeight(pos);
                    pos.y = Mathf.Lerp(this.currentDistance, this.desiredDistance, Time.deltaTime * 4f);
                }
                this.SetcameraPos(pos);
            }
            else if (Time.time - this.m_fTriggerStartTime > this.m_fDurningTime)
            {
                this.m_bSetCameraTrigger = false;
                this.SetcameraPos(this.m_veTriggerStartPos);
            }
            return;
        }
        bool flag = false;

        if (NkInputManager.GetKey(KeyCode.UpArrow) || NkInputManager.GetKey(KeyCode.W))
        {
            flag = true;
        }
        if (NkInputManager.GetKey(KeyCode.DownArrow) || NkInputManager.GetKey(KeyCode.S))
        {
            flag = true;
        }
        if (NkInputManager.GetKey(KeyCode.LeftArrow) || NkInputManager.GetKey(KeyCode.A))
        {
            flag = true;
        }
        if (NkInputManager.GetKey(KeyCode.RightArrow) || NkInputManager.GetKey(KeyCode.D))
        {
            flag = true;
        }
        if (NkInputManager.GetKeyUp(KeyCode.RightBracket))
        {
            this.m_fScrollViewSensitive += 0.001f;
            if (this.m_fScrollViewSensitive < 0f)
            {
                this.m_fScrollViewSensitive = 0.01f;
            }
            Debug.Log("Set ScrollView Sensitive " + this.m_fScrollViewSensitive);
        }
        if (NkInputManager.GetKeyUp(KeyCode.LeftBracket))
        {
            this.m_fScrollViewSensitive -= 0.001f;
            if (this.m_fScrollViewSensitive > 0.07f)
            {
                this.m_fScrollViewSensitive = 0.07f;
            }
            Debug.Log("Set ScrollView Sensitive " + this.m_fScrollViewSensitive);
        }
        if (!flag && !this.m_bCalcheight)
        {
            return;
        }
        if (this.m_bScrollView)
        {
            return;
        }
        if (Camera.main == null)
        {
            return;
        }
        Transform transform = Camera.main.transform;
        Vector3   a         = transform.TransformDirection(Vector3.forward);

        a.y = 0f;
        a   = a.normalized;
        Vector3 normalized = new Vector3(a.z, 0f, -a.x);

        normalized = normalized.normalized;
        float d  = 0f;
        float d2 = 0f;

        if (flag)
        {
            d  = NkInputManager.GetAxisRaw("Vertical");
            d2 = NkInputManager.GetAxisRaw("Horizontal");
        }
        Vector3 vector  = d2 * normalized + d * a;
        Vector3 vector2 = Vector3.zero;

        if (vector != Vector3.zero)
        {
            float num = 0.3f;
            vector2 = Vector3.RotateTowards(vector2, vector, num * 0.0174532924f * Time.deltaTime, 1f).normalized;
        }
        if (vector2 == Vector3.zero && !this.m_bCalcheight)
        {
            return;
        }
        Vector3 vector3 = Vector3.zero;

        vector3 = this.m_TargetGo.transform.position + vector2 * Time.deltaTime * this.zoomDampening;
        if (this.m_TargetGo.transform.position.x < this.m_fMoveLimitX && vector2.x != 0f)
        {
            vector3.x = this.m_fMoveLimitX;
        }
        if (this.m_TargetGo.transform.position.x > this.m_fMapXSize && vector2.x != 0f)
        {
            vector3.x = this.m_fMapXSize;
        }
        if (this.m_TargetGo.transform.position.z < this.m_fMoveLimitZ && vector2.z != 0f)
        {
            vector3.z = this.m_fMoveLimitZ;
        }
        if (this.m_TargetGo.transform.position.z > this.m_fMapZSize && vector2.z != 0f)
        {
            vector3.z = this.m_fMapZSize;
        }
        if (this.m_bCalcheight)
        {
            this.currentDistance = this.m_TargetGo.transform.position.y;
            this.desiredDistance = BattleMap.GetBattleMapHeight(vector3);
            vector3.y            = Mathf.Lerp(this.currentDistance, this.desiredDistance, Time.deltaTime * 4f);
        }
        this.m_TargetGo.transform.position = vector3;
    }
Esempio n. 3
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);
    }