Exemple #1
0
        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;
        }
Exemple #2
0
    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);
    }