public void NextAssemble(ParControler argPart) { if (argPart == null) { ChangeState(EState.FillShip); } else { ChangeState(EState.AssembleShip); PartToAssemble(argPart); } }
public void PlayerTriggerStay2D(GameObject gameobj, Collider2D collision) { var pPlayerCntl = gameobj.GetComponent <Player.Controler>(); var pShipCntl = collision.gameObject.GetComponent <Ship.Controler>(); if (pShipCntl != null) { switch (State) { case EState.LoadPartShip: if (pPlayerCntl.IsLoadObj /*&& pShipCntl.IsInShip(gameobj)*/) { mShipPartAssemble.InGravity = true; mShipPartAssemble = null; var pObj = pPlayerCntl.GetLoadObj(); pPlayerCntl.UnLoadObj(); pShipCntl.PutObjInZoneShip(pObj); ChangeState(EState.WaitPartShip); } break; case EState.LoadFuel: if (pPlayerCntl.IsLoadObj /*&& pShipCntl.IsInShip(gameobj)*/) { var pFuelCntl = pPlayerCntl.GetLoadObj().GetComponent <FuelControler>(); if (pFuelCntl != null) { pFuelCntl.InGravity = true; pPlayerCntl.UnLoadObj(); pShipCntl.PutObjInZoneShip(pFuelCntl.gameObject); ChangeState(EState.WaitFuel); } } break; } } }
private void ChangeState() { switch (State) { case EState.AssembleShip: mShipControler.PrepareAssembleShip(); mShipPartAssemble = mShipControler.ParShip3.PartNext; break; case EState.FillShip: mShipPartAssemble = null; mShipControler.PrepareForFill(); ThrowPrefabObjFromTop(FuelPrefab); ChangeState(EState.FillFuel); break; case EState.ShipTakeOf: mPlayerControler.gameObject.SetActive(false); mShipControler.TakeOff(); break; } }
public void PartToAssemble(ParControler argPart) { mShipPartAssemble = argPart; }