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);
    }
Exemple #2
0
 private void Start()
 {
     resourceStorageController = GetComponent <ResourceStorageController>();
     if (miningTimer == null)
     {
         miningTimer = new Timer(miningInterval, false, Mine);
     }
 }
        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 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);
    }