示例#1
0
        public AnimalActionBuilder WithAnimalAction(string id)
        {
            var newAnimalAction = new AnimalAction {
                Id = id
            };

            _ruleset.AnimalActions.Add(id, newAnimalAction);
            return(new AnimalActionBuilder(newAnimalAction, this));
        }
示例#2
0
 public static AnimalActionEntity AsEntity(this AnimalAction aa)
 {
     return(new AnimalActionEntity
     {
         Id = aa.Id,
         TimeOfAction = aa.TimeOfAction,
         EmployeeId = aa.EmployeeId,
         Action = aa.Action,
         AnimalId = aa.AnimalId
     });
 }
示例#3
0
    public static AnimalAction[] SelectActions(string _name, AnimalAction[] _actions, int _amountOfActions)
    {
        AnimalAction[] _tmp = _actions;
        _actions = new AnimalAction[_amountOfActions];

        GUILayout.BeginVertical();
        for (int i = 0; i < _amountOfActions; i++)
        {
            if (i < _tmp.Length)
            {
                _actions[i] = (AnimalAction)EditorGUILayout.ObjectField(_tmp[i], typeof(AnimalAction), false, GUILayout.Width(Screen.width * 0.45f));
            }
        }
        GUILayout.EndVertical();
        return(_actions);
    }
示例#4
0
        public override void Apply(AnimalActionEvent e, IAnimalEventContext context)
        {
            Animal       animal     = context.Animal;
            AnimalAction action     = context.ActiveRuleset.AnimalActions[e.AnimalActionId];
            AnimalType   animalType = context.ActiveRuleset.AnimalTypes[animal.TypeId];

            foreach (string attributeId in action.AttributeEffects.Keys)
            {
                AnimalTypeAttribute animalTypeAttribute = animalType.Attributes[attributeId];
                decimal             minValue            = animalTypeAttribute.MinValue;
                decimal             maxValue            = animalTypeAttribute.MaxValue;
                decimal             newValue            = animal.Attributes[attributeId] + action.AttributeEffects[attributeId];
                newValue = Math.Max(minValue, Math.Min(maxValue, newValue));
                animal.Attributes[attributeId] = newValue;
            }
        }
示例#5
0
 public AnimalActionArg(object _this, AnimalAction _type, Transform _trans) : base(_this)
 {
     animalAction = _type;
     trans        = _trans;
 }
示例#6
0
 public void StartMimic(AnimalAction mimicEmitter)
 {
     _mimic._mimicEmitter = mimicEmitter;
     ChangeState(GameStatus.MIMIC);
 }