private void Initialization() { _objectsOnScene = new Dictionary <GameObject, ObjectData>(); _publisher.AddSubscriber(GameEventName.CreateNewObject, this); _publisher.AddSubscriber(GameEventName.ClickedObject, this); var file = _objectLoader.Load <TextAsset>("JsonFiles/ObjectTypes"); var content = file.text; _objectTypes = new List <string>(4); var objects = JsonUtility.FromJson <Objects>(content); for (var i = 0; i < objects.BaseObjects.Length; i++) { var item = objects.BaseObjects[i]; _objectTypes.Add(item.ObjectType); } _clickColorDatasByObjectType = new Dictionary <string, List <ClickColorData> >(); var geometryObjectData = _objectLoader.Load <GeometryObjectData>("ScriptableObject/GeometryObjectData/Default"); for (var i = 0; i < geometryObjectData.ClicksData.Count; i++) { var data = geometryObjectData.ClicksData[i]; if (_clickColorDatasByObjectType.ContainsKey(data.ObjectType)) { _clickColorDatasByObjectType[data.ObjectType].Add(data); } else { _clickColorDatasByObjectType[data.ObjectType] = new List <ClickColorData> { data }; } } var gameData = _objectLoader.Load <GameData>("ScriptableObject/GameData/Default"); _observableTime = gameData.ObservableTime; }
public T GetObjectInStorage <T>(ObjectTypeEnum typeEnum) where T : Object { object getObject; var isExists = _poolPrefabs.TryGetValue(typeEnum, out getObject); if (isExists != false) { return((T)getObject); } var stringPath = Strings.GetResoursePath(typeEnum); getObject = _objectLoader.Load <T>(stringPath); _poolPrefabs.Add(typeEnum, getObject); return((T)getObject); }