Example #1
0
 // Updates ship model based on health and stored hull and sail models
 public void UpdateShipDamageModel(SpriteVariants hullModels, SpriteVariants sailModels, float health)
 {
     if (health >= 80)
     {
         hullModel.sprite = hullModels.variants[0];
         sailModel.sprite = sailModels.variants[1]; // undamaged
     }
     else if (health >= 60)
     {
         hullModel.sprite = hullModels.variants[0];
         sailModel.sprite = sailModels.variants[0]; // slightly damaged
     }
     else if (health >= 40)
     {
         hullModel.sprite = hullModels.variants[1];
         sailModel.sprite = sailModels.variants[0]; // slightly damaged
     }
     else if (health >= 20)
     {
         hullModel.sprite = hullModels.variants[1];
         sailModel.sprite = sailModels.variants[3]; // very damaged
     }
     else if (health > 0)
     {
         hullModel.sprite = hullModels.variants[2];
         sailModel.sprite = sailModels.variants[3]; // very damaged
     }
     else
     {
         hullModel.sprite = hullModels.variants[3];
         sailModel.sprite = sailModels.variants[2]; // destroyed
         StartCoroutine("ShipDestroyed");
     }
 }
Example #2
0
    private static SpriteVariants[] LoadSailVariants()
    {
        sailModelVariants = new SpriteVariants[6];

        for (int variantNumber = 0; variantNumber < sailModelVariants.Length; variantNumber++)
        {
            Sprite[] sprites = new Sprite[4];

            for (int spriteNumber = 0; spriteNumber < sprites.Length; spriteNumber++)
            {
                sprites[spriteNumber] = Resources.Load <Sprite>
                                            ("Sprites/Objects/Ship Parts/Sails/sailLarge ()"
                                            .Insert(44, (6 * spriteNumber + variantNumber + 1).ToString()));
            }
            sailModelVariants[variantNumber] = new SpriteVariants(sprites);
        }
        return(sailModelVariants);
    }
Example #3
0
    private static SpriteVariants[] LoadHullVariants()
    {
        hullModelVariants = new SpriteVariants[2];
        Sprite[] largeSprites = new Sprite[4];
        Sprite[] smallSprites = new Sprite[4];

        for (int spriteNumber = 0; spriteNumber < 4; spriteNumber++)
        {
            largeSprites[spriteNumber] = Resources.Load <Sprite>
                                             ("Sprites/Objects/Ship Parts/Hulls/hullLarge ()".Insert(44, (spriteNumber + 1).ToString()));
            smallSprites[spriteNumber] = Resources.Load <Sprite>
                                             ("Sprites/Objects/Ship Parts/Hulls/hullSmall ()".Insert(44, (spriteNumber + 1).ToString()));
        }

        hullModelVariants[0] = new SpriteVariants(largeSprites);
        hullModelVariants[1] = new SpriteVariants(smallSprites);

        return(hullModelVariants);
    }