public static void Add(Interface.Struct.ControlMarker marker) { ControlMarker nmarker = new ControlMarker(marker); Out.Log(Significance.Low, "Added control marker " + nmarker); AllControlMarkers.Add(nmarker); }
public bool SetNotAlcholControl(int id, LiquidType liquid, SolidType solid) { ControlMarker ctrl = GetNotAlcholControl(id); if (ctrl != null) { ctrl.Liquid = liquid; ctrl.Solid = solid; ctrl.ControlUpdated(); ControlInfo info = null; switch (id) { case 0: info = Tap_Up; break; case 1: info = Tap_Right; break; case 2: info = Tap_Down; break; case 3: info = Tap_Left; break; } if (info != null) { info.Liquid = liquid; info.Solid = solid; } return(true); } return(false); }
public bool AddNotAlcholControl(LiquidType liquid, SolidType solid) { for (int i = 0; i < 3; i++) { ControlMarker ctrl = GetNotAlcholControl(i); if (ctrl.Liquid == LiquidType.None && ctrl.Solid == SolidType.None) { SetNotAlcholControl(i, liquid, solid); return(true); } } return(false); }
public ControlMarker GetAlcholControl(int id) { ControlMarker ctrl = null; switch (id) { case 0: ctrl = Control_Action2; break; case 1: ctrl = Control_Action3; break; case 2: ctrl = Control_Action4; break; } return(ctrl); }
public ControlMarker GetNotAlcholControl(int id) { ControlMarker ctrl = null; switch (id) { case 0: ctrl = Control_Up; break; case 1: ctrl = Control_Right; break; case 2: ctrl = Control_Down; break; case 3: ctrl = Control_Left; break; } return(ctrl); }
public bool RandomAddNotAlcholControl(LiquidType liquid, SolidType solid) { bool allUsed = true; for (int i = 0; i < 4; i++) { ControlMarker ctrl = GetNotAlcholControl(i); if (ctrl.Liquid != LiquidType.None || ctrl.Solid != SolidType.None) { allUsed = false; break; } } if (allUsed == false) { return(false); } int steps = 0; while (steps++ < 100) { int r = UnityEngine.Random.Range(0, 4); ControlMarker ctrl = GetNotAlcholControl(r); if (ctrl.Liquid != LiquidType.None || ctrl.Solid != SolidType.None) { continue; } SetNotAlcholControl(r, liquid, solid); return(true); } return(false); }
public void SetUpControls() { int nbLiquids = (int)LiquidType.COUNT; List <SolidType> solids = new List <SolidType>(8); List <LiquidType> liquids = new List <LiquidType>(nbLiquids); for (int i = 0; i < nbLiquids; i++) { liquids.Add((LiquidType)i); } liquids.Remove(LiquidType.None); SetAlcholControl(0, LiquidType.None, SolidType.None); SetAlcholControl(1, LiquidType.None, SolidType.None); SetAlcholControl(2, LiquidType.None, SolidType.None); SetNotAlcholControl(0, LiquidType.None, SolidType.None); SetNotAlcholControl(1, LiquidType.None, SolidType.None); SetNotAlcholControl(2, LiquidType.None, SolidType.None); SetNotAlcholControl(3, LiquidType.None, SolidType.None); for (int measuresIi = 0; measuresIi < Cocktail.Measures.Count; measuresIi++) { CocktailMeasure measure = Cocktail.Measures[measuresIi]; SolidType solid = SolidType.None; // @TODO. Maybe part of measure? LiquidType liquid = LiquidType.None; liquid = measure.LiquidType; if (solid != SolidType.None) { solids.Add(solid); } if (liquid != LiquidType.None) { liquids.Remove(liquid); if (liquid == LiquidType.Beer) { continue; } LiquidAlcohol alcohol = GlassLiquid.LiquidTypeToLiquidAlcohol(liquid); if (alcohol == LiquidAlcohol.Yes) { if (RandomAddAlcholControl(liquid, solid) == false) { if (RandomAddNotAlcholControl(liquid, solid) == false) { Debug.LogError("Cannot fit in ingredients. Recipe too complicated"); } } } else { if (RandomAddNotAlcholControl(liquid, solid) == false) { if (RandomAddAlcholControl(liquid, solid) == false) { Debug.LogError("Cannot fit in ingredients. Recipe too complicated"); } } } } } // Actions for (int i = 0; i < 3; i++) { ControlMarker ctrl = GetAlcholControl(i); if (!(ctrl.Liquid == LiquidType.None && ctrl.Solid == SolidType.None)) { continue; } LiquidType lt = GetUniqueRandomLiquid(liquids, LiquidAlcohol.Yes); SetAlcholControl(i, lt, SolidType.None); } // DPad for (int i = 0; i < 4; i++) { ControlMarker ctrl = GetNotAlcholControl(i); if (!(ctrl.Liquid == LiquidType.None && ctrl.Solid == SolidType.None)) { continue; } LiquidType lt = GetUniqueRandomLiquid(liquids, LiquidAlcohol.No); SetNotAlcholControl(i, lt, SolidType.None); } }