private EnemyController CreateController() { EnemyController controller; switch (this.enemyType) { case EnemyType.Mine: controller = new MineController(this); break; case EnemyType.Drone: controller = new DroneController(this); break; case EnemyType.MineLayer: controller = new MineLayerController(this); break; case EnemyType.Warrior: controller = new WarriorController(this); break; case EnemyType.Warlord: controller = new WarriorController(this); break; default: controller = new MineController(this); break; } return(controller); }
public ISerializable <ShipControllerPersistance> SetObject(ShipControllerPersistance serializedObject) { this._fleetCommandQueue = new FleetCommandQueue(); this._fleetCommandQueue.SetObject(serializedObject.fleetCommandQueuePersistance); MineController mineController = GetComponent <MineController>(); if (mineController != null) { mineController.SetObject(serializedObject.mineControllerPersistance); } ResourceStorageController resourceStorageController = GetComponent <ResourceStorageController>(); if (resourceStorageController != null) { resourceStorageController.SetObject(serializedObject.resourceStoragePersistance); } foreach (TurretControllerPersistance turretControllerPersistance in serializedObject.turretControllerPersistances) { transform.GetChild(turretControllerPersistance.turretIndex).GetComponent <TurretController>().SetObject(turretControllerPersistance); } this._ship = serializedObject.ship; this.shipType = serializedObject.shipType; return(this); }
private void Start() { collisionController = GetComponent <CollisionController>(); PlayerMovement playerMovement = GameObject.FindWithTag("Player").GetComponent <PlayerMovement>(); gravity = playerMovement.GetGravity(); terminalVelocity = playerMovement.GetTerminalVelocity(); child = transform.Find("Pickaxe"); playerTransform = playerMovement.transform; rend = child.GetComponent <SpriteRenderer>(); mineController = playerTransform.GetComponent <MineController>(); }
public MineCommand(MapObject source, MapObject target) : base(source, target, CommandType.Mine) { resourceStorageController = source.GetComponent <ResourceStorageController>(); mineController = source.GetComponent <MineController>(); if (target != null) { asteroidController = target.GetComponent <AsteroidController>() ?? null; } base.destinationOffset = 2f; player = PlayerDatabase.Instance.GetObjectPlayer(source.gameObject); }
public void InitMineLand() { int initX = 0 - (MINE_WIDE * s_mineRow / 2); int initY = 0 - (MINE_HIGH * s_mineColumn / 2); GameObject minePrefab = Resources.Load <GameObject>("MinePrefab"); for (byte r = 0; r < s_mineRow; ++r) { for (byte c = 0; c < s_mineColumn; ++c) { GameObject mineGo = GameObject.Instantiate <GameObject>(minePrefab); mineGo.name = "mine_" + r + "_" + c; mineGo.transform.SetParent(GlobalRef.SceneRoot, false); mineGo.transform.localPosition = new Vector3( initX + r * MINE_WIDE + MINE_WIDE / 2, initY + c * MINE_HIGH + MINE_HIGH / 2, 0); MineController mController = mineGo.GetComponent <MineController>(); mController.Row = r; mController.Column = c; if (s_mines[r * s_mineColumn + c] > 8) { mController.IsMine = true; mController.m_bomb.gameObject.SetActive(true); mController.m_number.gameObject.SetActive(false); mController.m_cover.gameObject.SetActive(true); } else { mController.IsMine = false; mController.m_bomb.gameObject.SetActive(false); mController.m_number.gameObject.SetActive(true); mController.m_cover.gameObject.SetActive(true); } mController.Opened = false; } } Cmd.BattleClientReady req = new Cmd.BattleClientReady(); MemoryStream ms2 = new MemoryStream(); Serializer.Serialize <Cmd.BattleClientReady>(ms2, req); NetMgr.Instance.SendMsgToGate(req.id, ms2.ToArray()); }
public GameObject SpawnMine(MineType type, float minScale, float maxScale, float minSpeed, float maxSpeed) { // Position Vector3 pos = transform.position; pos.x = Random.Range(minPosX, maxPosX); // Init GameObject mine; if (type == MineType.Blue) { mine = Instantiate(blueMinePrefab, pos, Quaternion.identity); } else { mine = Instantiate(redMinePrefab, pos, Quaternion.identity); } MineController mineCtrlr = mine.GetComponent <MineController>(); mineCtrlr.explosionVFX = explosionVFX; mineCtrlr.explosionSoundCtrlr = explosionSoundCtrlr; // Rotation mine.transform.localRotation = Random.rotation; // Size Vector3 scale = mine.transform.localScale; scale *= Random.Range(minScale, maxScale); mine.transform.localScale = scale; // Speed Rigidbody2D rb = mine.GetComponent <Rigidbody2D>(); rb.gravityScale *= Random.Range(minSpeed, maxSpeed); return(mine); }
public ShipControllerPersistance Serialize() { List <TurretControllerPersistance> turretControllerPersistances = new List <TurretControllerPersistance>(); TurretController[] turretControllers = GetComponentsInChildren <TurretController>(); foreach (TurretController turretController in turretControllers) { turretControllerPersistances.Add(turretController.Serialize()); } ShipControllerPersistance shipControllerPersistance = new ShipControllerPersistance(Ship, shipType, GetComponent <MapObject>().Serialize(), _fleetCommandQueue.Serialize(), turretControllerPersistances, true); MineController mineController = GetComponent <MineController>(); ResourceStorageController resourceStorageController = GetComponent <ResourceStorageController>(); shipControllerPersistance.mineControllerPersistance = mineController != null?mineController.Serialize() : null; shipControllerPersistance.resourceStoragePersistance = resourceStorageController != null?resourceStorageController.Serialize() : null; return(shipControllerPersistance); }
public static bool ParseBattleOpenMineNtf(byte[] msg_, int msgLen_) { MemoryStream ms = new MemoryStream(msg_, 0, msgLen_); Cmd.BattleOpenMineNtf rcv = Serializer.Deserialize <Cmd.BattleOpenMineNtf>(ms); string mineName = "mine_" + rcv.row + "_" + rcv.column; Transform mineTrans = GlobalRef.SceneRoot.FindChild(mineName); if (null == mineTrans) { Utility.LogWarning("open mine not found (" + rcv.row + ":" + rcv.column + ")"); return(true); } MineController mController = mineTrans.gameObject.GetComponent <MineController>(); mController.m_cover.gameObject.SetActive(false); mController.Opened = true; Utility.Log("battle open mine ntf (" + rcv.row + ":" + rcv.column + ")"); return(true); }
public void OnWeaponsChanged() { if (m_mineController != null) Destroy(m_mineController); m_mineController = ScriptableObject.CreateInstance<MineController>() as MineController; m_mineController.Init(this); }
public void Start() { mineController = GetComponent <MineController>(); collisionController = GetComponent <CollisionController>(); UpdateKinematics(); }
//=========================================// private void Awake() { instance = this; // CreateGhosts(); }