예제 #1
0
 public void AddShip(ShipDatablock shipScript, HexCoord formation)
 {
     var ship = new Ship();
     ship.SetupFromScriptableObject(shipScript, formation, player);
     player.ships.Add(ship);
 }
예제 #2
0
    //public Ship()
    //{
    //}
    public void SetupFromScriptableObject(ShipDatablock _script, HexCoord _formation, Player _player)
    {
        player = _player;
        Formation = _formation;// HexCoord.AtOffset(_formation);
        equipmentSlots = new List<ComponentSlot>();
        equipmentSlots.Add(new CaptainSlot(_script.captainType));
        equipmentSlots.Add(new ChassisSlot(_script.chassisType));
        equipmentSlots.Add(new ShieldSlot(_script.shieldType));
        equipmentSlots.Add(new EngineSlot(_script.engineType));
        equipmentSlots.Add(new DriveSlot(_script.driveType));
        equipmentSlots.Add(new WeaponSlot(_script.weapon1Type));
        equipmentSlots.Add(new WeaponSlot(_script.weapon2Type));

        utilitySlots = new List<UtilitySlot>();
        cargoSlots = new List<CargoSlot>();
        _script.utilityType.ForEach(a => utilitySlots.Add(new UtilitySlot(a)));
        _script.cargoType.ForEach(a => cargoSlots.Add(new CargoSlot(a)));

        Icon = _script.Icon;
        Name = _script.name;
        ConnectStats();
    }