Пример #1
0
    public void RequestBuildState(ConstructionObject constructionObject, int buildingID)
    {
        GameStateBuild buildState = new GameStateBuild(constructionObject, mainCamera);

        buildState.HasPlaced += BuildingPlaced;
        gameEventStateMachine.ChangeState(buildState);
    }
Пример #2
0
            static void Prefix(GameState state)
            {
                if (!modEnabled.Value)
                {
                    return;
                }

                if (GameStateManager.GetState() == GameState.SIM && state == GameState.BUILD)
                {
                    if (markWorst.Value && GameStateSim.m_NumBridgeBreaks == 0)
                    {
                        float            worstStress = 0.0f;
                        PolyPhysics.Edge worstEdge   = null;
                        foreach (var edge in maxStress)
                        {
                            if (Mathf.Abs(edge.Value) > worstStress)
                            {
                                worstStress = Mathf.Abs(edge.Value);
                                worstEdge   = edge.Key;
                            }
                        }
                        BridgeEdge byPhysicsEdge = BridgeEdges.FindByPhysicsEdge(worstEdge);
                        if (byPhysicsEdge && worstStress > 0.01f)
                        {
                            BridgeEdgeProxy proxy = new BridgeEdgeProxy(byPhysicsEdge);
                            proxy.m_NodeA_Guid = (UnityEngine.Object)byPhysicsEdge.m_StartSimJointA != (UnityEngine.Object)null ? byPhysicsEdge.m_StartSimJointA.m_Guid : proxy.m_NodeA_Guid;
                            proxy.m_NodeB_Guid = (UnityEngine.Object)byPhysicsEdge.m_StartSimJointB != (UnityEngine.Object)null ? byPhysicsEdge.m_StartSimJointB.m_Guid : proxy.m_NodeB_Guid;
                            GameStateBuild.SetFirstBreakEdge(proxy);
                        }
                    }
                }

                originalColor.Clear();
                maxStress.Clear();
                curStress.Clear();
            }
Пример #3
0
	void InitGame () {
		// Reference and object initializations.
		gather = GetComponent<GameStateGather>();
		build = GetComponent<GameStateBuild>();
        battle = GetComponent<GameStateBattle>();
		gather.enabled = false;
        build.enabled = false;
        battle.enabled = false;

		ImageTarget.SetActive(false);
		ImageTargetGather.SetActive(false);

        // Enable GUI Elements.
		GUIMainMenu.SetActive(true);
		GUIMainMenu.transform.GetChild(0).gameObject.SetActive(true);
		GUIMainMenu.transform.GetChild(1).gameObject.SetActive(true);
		GUIMainMenu.transform.GetChild(2).gameObject.SetActive(true);
		GUIMainMenu.transform.GetChild(3).gameObject.SetActive(true);
		GUIMainMenu.transform.GetChild(4).gameObject.SetActive(false);
    }