protected ProgressData() { Levels = new Dictionary <string, bool>(); Tasks = new Dictionary <string, bool>(); foreach (var p in LevelContainer.GetInstance().Levels) { Levels.Add(p.Key, false); if (p.Value.Tasks == null) { continue; } foreach (var t in p.Value.Tasks) { Tasks.Add(t.Name, false); } } Skins = new Dictionary <string, bool>(); foreach (var skin in SkinsContainer.GetInstance().Skins) { Skins.Add(skin.Skin.name, false); } //todo Data = new Dictionary <DataType, Dictionary <string, bool> > { { DataType.Level, Levels }, { DataType.Task, Tasks }, { DataType.Skin, Skins }, }; //special Levels["main"] = true; }
private void Start() { if (_instance != null) { throw new Exception("Second singleton"); } _instance = this; }
public void SetAvatar(string name) { var skin = SkinsContainer.GetInstance().Skins.FirstOrDefault(sp => name == sp.Skin.name); if (skin == null) { throw new ArgumentException("bad " + name); } AvatarSkinName = name; var ava = AvatarController.GetInstance().Avatar.gameObject; ava.GetComponent <MeshFilter>().mesh = skin.Skin.GetComponent <MeshFilter>().mesh; ava.GetComponent <MeshRenderer>().material = skin.Skin.GetComponent <MeshRenderer>().material; }
public ShowroomVM(Screen screen) { if (screen.Type != Screen.ScreenType.Showroom) { throw new ArgumentException(); } Screen = screen; screen.Rect.transform.Find("Back").GetComponent <Button>().onClick.AddListener(HandleBackButton); screen.Rect.transform.Find("Left").GetComponent <ClickHandler>().Clicked = () => Next(true); screen.Rect.transform.Find("Right").GetComponent <ClickHandler>().Clicked = () => Next(false); _use = screen.Rect.transform.Find("Use").GetComponent <Button>(); _use.onClick.AddListener(Use); _useText = screen.Rect.transform.Find("Use").GetComponentInChildren <Text>(); screen.TurnedOn = TurnOnHandler; _skins = SkinsContainer.GetInstance().Skins; _mv = ModelViewer.GetInstance(); _progress = ProgressData.GetInstance(); }
private void TurnOnHandler() { if (_firstOn) { var skins = SkinsContainer.GetInstance(); var btns = new RectTransform[skins.Skins.Length]; var container = Screen.Rect.transform.Find("Skins") as RectTransform; var template = Screen.Rect.transform.Find("Template") as RectTransform; for (int i = 0; i < skins.Skins.Length; ++i) { btns[i] = GameObject.Instantiate(template); btns[i].gameObject.SetActive(true); var lambda = btns[i].GetComponent <MonoLambda>(); lambda.Parameters = skins.Skins[i].Skin.transform; lambda.Function = o => GoToShowroom((Transform)o); btns[i].GetComponent <Button>().onClick.AddListener(lambda.Call); } SquareArranger.Arrange(container, btns, 0); _firstOn = false; } }