| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101 |
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using UnityEngine;
- namespace ScrapYard.API
- {
- public class ShopPlatform
- {
- public readonly ShopPlatformSpacingType Type;
- public readonly string Title;
- internal List<ShopPlatformEntry> Entries = new List<ShopPlatformEntry>();
- internal static List<ShopPlatform> ShopPlatforms = new List<ShopPlatform>();
- public static ShopPlatform DefaultObjects
- {
- get => ShopPlatforms[0];
- }
- public static ShopPlatform DefaultBlocks
- {
- get => ShopPlatforms[1];
- }
- public static ShopPlatform DefaultWalls
- {
- get => ShopPlatforms[2];
- }
- public ShopPlatform(string title, ShopPlatformSpacingType spacingType = ShopPlatformSpacingType.Normal)
- {
- this.Type = spacingType;
- this.Title = title;
- }
- public virtual ShopPlatform Register()
- {
- ShopPlatforms.Add(this);
- return this;
- }
- public ShopPlatformSpacingType GetShopPlatformSpacingType()
- {
- return Type;
- }
- public void AddShopPlatformEntry(ShopPlatformEntry row)
- {
- Entries.Add(row);
- }
- public void RemoveShopPlatformEntry(ShopPlatformEntry row)
- {
- Entries.Remove(row);
- }
- public ShopPlatformEntry[] GetShopPlatformEntries()
- {
- return Entries.ToArray();
- }
- public static ShopPlatform[] GetShopPlatforms()
- {
- return ShopPlatforms.ToArray();
- }
- internal int GetSpacesPerRow()
- {
- int spaces = 0;
- switch (Type)
- {
- case ShopPlatformSpacingType.Normal:
- spaces = 7;
- break;
- case ShopPlatformSpacingType.Near:
- spaces = 13;
- break;
- case ShopPlatformSpacingType.Far:
- spaces = 3;
- break;
- }
- return spaces;
- }
- internal int GetRowsNeeded()
- {
- return ((Entries.Count - 1) / GetSpacesPerRow()) + 1;
- }
- }
- public enum ShopPlatformSpacingType
- {
- Normal,
- Near,
- Far
- }
- }
|