public void RequestBuildState(ConstructionObject constructionObject, int buildingID) { GameStateBuild buildState = new GameStateBuild(constructionObject, mainCamera); buildState.HasPlaced += BuildingPlaced; gameEventStateMachine.ChangeState(buildState); }
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(); }
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); }