示例#1
0
            public new static RunawayFrom FromJsonToken(JToken token)
            {
                //IL_0001: Unknown result type (might be due to invalid IL or missing references)
                //IL_0007: Invalid comparison between Unknown and I4
                //IL_000f: Unknown result type (might be due to invalid IL or missing references)
                if ((int)token.get_Type() != 1)
                {
                    Debug.LogWarning((object)("Malformed token : type Object expected, but " + token.get_Type() + " found"));
                    return(null);
                }
                JObject     jsonObject  = Extensions.Value <JObject>((IEnumerable <JToken>)token);
                RunawayFrom runawayFrom = new RunawayFrom();

                runawayFrom.PopulateFromJson(jsonObject);
                return(runawayFrom);
            }
示例#2
0
        public static AIMovementDefinition FromJsonToken(JToken token)
        {
            //IL_0001: Unknown result type (might be due to invalid IL or missing references)
            //IL_0007: Invalid comparison between Unknown and I4
            //IL_000f: Unknown result type (might be due to invalid IL or missing references)
            if ((int)token.get_Type() != 1)
            {
                Debug.LogWarning((object)("Malformed token : type Object expected, but " + token.get_Type() + " found"));
                return(null);
            }
            JObject val  = Extensions.Value <JObject>((IEnumerable <JToken>)token);
            JToken  val2 = default(JToken);

            if (!val.TryGetValue("type", ref val2))
            {
                Debug.LogWarning((object)"Malformed json: no 'type' property in object of class AIMovementDefinition");
                return(null);
            }
            string text = Extensions.Value <string>((IEnumerable <JToken>)val2);
            AIMovementDefinition aIMovementDefinition;

            switch (text)
            {
            case "DoNothing":
                aIMovementDefinition = new DoNothing();
                break;

            case "GetCloserTo":
                aIMovementDefinition = new GetCloserTo();
                break;

            case "StayOutOfAttack":
                aIMovementDefinition = new StayOutOfAttack();
                break;

            case "RunawayFrom":
                aIMovementDefinition = new RunawayFrom();
                break;

            default:
                Debug.LogWarning((object)("Unknown type: " + text));
                return(null);
            }
            aIMovementDefinition.PopulateFromJson(val);
            return(aIMovementDefinition);
        }
示例#3
0
            public static RunawayFrom FromJsonProperty(JObject jsonObject, string propertyName, RunawayFrom defaultValue = null)
            {
                //IL_0011: Unknown result type (might be due to invalid IL or missing references)
                //IL_0018: Invalid comparison between Unknown and I4
                JProperty val = jsonObject.Property(propertyName);

                if (val == null || (int)val.get_Value().get_Type() == 10)
                {
                    return(defaultValue);
                }
                return(FromJsonToken(val.get_Value()));
            }