public MachineState(Vector3Int pos, Players.Player owner, string machineType)
        {
            Position    = pos;
            MachineType = machineType;
            Owner       = owner;

            MachineSettings = MachineManager.GetCallbacks(machineType);
        }
Example #2
0
        public MachineState(Vector3Int pos, Players.Player owner, string machineType, IMachineSettings settings = null)
        {
            Position    = pos;
            MachineType = machineType;
            Owner       = owner;

            if (settings == null)
            {
                MachineSettings = MachineManager.GetCallbacks(machineType);
            }
            else
            {
                MachineSettings = settings;
            }
        }
Example #3
0
        public MachineState(JSONNode baseNode, Players.Player owner)
        {
            MAX_DURABILITY[owner] = DEFAULT_MAX_DURABILITY;
            MAX_FUEL[owner]       = DEFAULT_MAX_FUEL;
            MAX_LOAD[owner]       = DEFAULT_MAX_LOAD;

            Position    = (Vector3Int)baseNode[nameof(Position)];
            Durability  = baseNode.GetAs <float>(nameof(Durability));
            Fuel        = baseNode.GetAs <float>(nameof(Fuel));
            MachineType = baseNode.GetAs <string>(nameof(MachineType));

            if (baseNode.TryGetAs <float>(nameof(Load), out var load))
            {
                Load = load;
            }

            MachineSettings = MachineManager.GetCallbacks(MachineType);
        }