예제 #1
0
    // Member Properties


    // Member Methods
    public void Start()
    {
        m_PropulsionGenerator = gameObject.GetComponent <CPropulsionGeneratorBehaviour>();

        // Register for changes in mechanical health
        m_MechanicalComponent1.EventHealthChange += HandleMechanicalHealthChange;
        m_MechanicalComponent2.EventHealthChange += HandleMechanicalHealthChange;

        // Get the DUI of the power generator
        m_DUIPropulsionRoot = m_DUIConsole.DUI.GetComponent <CDUIPropulsionEngineRoot>();
        m_DUIPropulsionRoot.RegisterPropulsionEngine(gameObject);

        if (CNetwork.IsServer)
        {
            // Set the generation rate
            m_PropulsionGenerator.PropulsionForce     = m_MaxPropulsion;
            m_PropulsionGenerator.PropulsionPotential = m_MaxPropulsion;
        }

        // Set the cubemap for the children
        foreach (Renderer r in GetComponentsInChildren <Renderer>())
        {
            r.material.SetTexture("_Cube", transform.parent.GetComponent <CModulePortInterface>().CubeMapSnapshot);
        }
    }
예제 #2
0
	// Member Properties
	
	
	// Member Methods
	public void Start()
	{
		m_PropulsionGenerator = gameObject.GetComponent<CPropulsionGeneratorBehaviour>();

		// Register for changes in mechanical health
		m_MechanicalComponent1.EventHealthChange += HandleMechanicalHealthChange;
		m_MechanicalComponent2.EventHealthChange += HandleMechanicalHealthChange;

		// Get the DUI of the power generator
		m_DUIPropulsionRoot = m_DUIConsole.DUI.GetComponent<CDUIPropulsionEngineRoot>();
		m_DUIPropulsionRoot.RegisterPropulsionEngine(gameObject);

		if(CNetwork.IsServer)
		{
			// Set the generation rate
			m_PropulsionGenerator.PropulsionForce = m_MaxPropulsion;
			m_PropulsionGenerator.PropulsionPotential = m_MaxPropulsion;
		}

		// Set the cubemap for the children
		foreach(Renderer r in GetComponentsInChildren<Renderer>())
		{
			r.material.SetTexture("_Cube", transform.parent.GetComponent<CModulePortInterface>().CubeMapSnapshot);
		}
	}
예제 #3
0
 private void UpdatePropulsionVariables()
 {
     m_ShipPropulsionPotential = 0.0f;
     m_ShipCurrentPropulsion   = 0.0f;
     foreach (GameObject pg in m_PropulsionGenerators)
     {
         CPropulsionGeneratorBehaviour pgs = pg.GetComponent <CPropulsionGeneratorBehaviour>();
         if (pgs.IsPropulsionGeneratorActive)
         {
             m_ShipCurrentPropulsion += pgs.PropulsionForce;
         }
         m_ShipPropulsionPotential += pgs.PropulsionPotential;
     }
 }
예제 #4
0
	// Member Properties
	
	
	// Member Methods
	public void RegisterPropulsionEngine(GameObject _Propulsion)
	{
		m_Engine = _Propulsion;
		m_CachedPropulsionBehaviour = m_Engine.GetComponent<CPropulsionGeneratorBehaviour>();
		m_CachedEngine = m_Engine.GetComponent<CTestEngineBehaviour>();
		
		// Register generation rate state chages
		m_CachedPropulsionBehaviour.EventPropulsionOutputChanged += HandlePropulsionStateChange;
		m_CachedPropulsionBehaviour.EventPropulsionPotentialChanged += HandlePropulsionStateChange;
		
		// Register for when the circuitry breaks/fixes
		m_CachedEngine.m_MechanicalComponent1.EventComponentBreak += HandleMechanicalStateChange;
		m_CachedEngine.m_MechanicalComponent2.EventComponentFix += HandleMechanicalStateChange;
		
		// Update initial values
		UpdateDUI();
	}
예제 #5
0
    // Member Properties


    // Member Methods
    public void RegisterPropulsionEngine(GameObject _Propulsion)
    {
        m_Engine = _Propulsion;
        m_CachedPropulsionBehaviour = m_Engine.GetComponent <CPropulsionGeneratorBehaviour>();
        m_CachedEngine = m_Engine.GetComponent <CTestEngineBehaviour>();

        // Register generation rate state chages
        m_CachedPropulsionBehaviour.EventPropulsionOutputChanged    += HandlePropulsionStateChange;
        m_CachedPropulsionBehaviour.EventPropulsionPotentialChanged += HandlePropulsionStateChange;

        // Register for when the circuitry breaks/fixes
        m_CachedEngine.m_MechanicalComponent1.EventComponentBreak += HandleMechanicalStateChange;
        m_CachedEngine.m_MechanicalComponent2.EventComponentFix   += HandleMechanicalStateChange;

        // Update initial values
        UpdateDUI();
    }
예제 #6
0
	private void HandlePropulsionStateChange(CPropulsionGeneratorBehaviour _Propulsion)
	{
		UpdateDUI();
	}
예제 #7
0
 private void HandlePropulsionStateChange(CPropulsionGeneratorBehaviour _Propulsion)
 {
     UpdateDUI();
 }