// 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"); } }
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); }
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); }