Пример #1
0
    static public object GetParseValueFromFsmVar(Fsm fsm, FsmVar fsmVar)
    {
        PlayMakerUtils.RefreshValueFromFsmVar(fsm, fsmVar);

        if (fsmVar.Type == VariableType.Bool)
        {
            return(fsmVar.boolValue);
        }
        else if (fsmVar.Type == VariableType.Float)
        {
            return(fsmVar.floatValue);
        }
        else if (fsmVar.Type == VariableType.Int)
        {
            return(fsmVar.intValue);
        }
        else if (fsmVar.Type == VariableType.String)
        {
            return(fsmVar.stringValue);
        }
        else if (fsmVar.Type == VariableType.Color)
        {
            return(PlayMakerUtils.ParseValueToString(fsmVar.colorValue));
        }
        else if (fsmVar.Type == VariableType.GameObject)
        {
            return(PlayMakerUtils.ParseValueToString(fsmVar.gameObjectValue));
        }
        else if (fsmVar.Type == VariableType.Material)
        {
            return(PlayMakerUtils.ParseValueToString(fsmVar.materialValue));
        }
        else if (fsmVar.Type == VariableType.Quaternion)
        {
            return(PlayMakerUtils.ParseValueToString(fsmVar.quaternionValue));
        }
        else if (fsmVar.Type == VariableType.Rect)
        {
            return(PlayMakerUtils.ParseValueToString(fsmVar.rectValue));
        }
        else if (fsmVar.Type == VariableType.Texture)
        {
            return(PlayMakerUtils.ParseValueToString(fsmVar.textureValue));
        }
        else if (fsmVar.Type == VariableType.Vector2)
        {
            return(PlayMakerUtils.ParseValueToString(fsmVar.vector2Value));
        }
        else if (fsmVar.Type == VariableType.Vector3)
        {
            return(PlayMakerUtils.ParseValueToString(fsmVar.vector3Value));
        }

        return(false);
    }
Пример #2
0
        public void ExecuteAction()
        {
            if (!UpdateCache(Fsm.GetOwnerDefaultTarget(gameObject)))
            {
                Debug.Log("ArrayListTable not found for " + PlayMakerUtils.LogFullPathToAction(this));
                Fsm.Event(failureEvent);
                return;
            }

            ArrayListTable _at = this.cachedComponent as ArrayListTable;

            PlayMakerUtils.RefreshValueFromFsmVar(this.Fsm, value);

            int _column_i = 0;

            foreach (PlayMakerArrayListProxy _p in _at.ColumnData)
            {
                if (_p.arrayList.Contains(value.GetValue()))
                {
                    if (!rowIndexResult.IsNone)
                    {
                        rowIndexResult.Value = _p.arrayList.IndexOf(value.GetValue());
                    }
                    if (!columnIndexResult.IsNone)
                    {
                        columnIndexResult.Value = _column_i;
                    }
                    if (!columnNameResult.IsNone)
                    {
                        columnNameResult.Value = _at.GetColumnHeader(_column_i);
                    }

                    if (!isContained.IsNone)
                    {
                        isContained.Value = true;
                    }

                    Fsm.Event(isContainedEvent);

                    return;
                }
                _column_i++;
            }

            if (!isContained.IsNone)
            {
                isContained.Value = true;
            }

            Fsm.Event(isNotContainedEvent);
        }
Пример #3
0
        public void doesArrayListContains()
        {
            if (!base.isProxyValid())
            {
                return;
            }
            bool flag = false;

            PlayMakerUtils.RefreshValueFromFsmVar(base.Fsm, this.variable);
            switch (this.variable.Type)
            {
            case VariableType.Float:
                flag = this.proxy.arrayList.Contains(this.variable.floatValue);
                break;

            case VariableType.Int:
                flag = this.proxy.arrayList.Contains(this.variable.intValue);
                break;

            case VariableType.Bool:
                flag = this.proxy.arrayList.Contains(this.variable.boolValue);
                break;

            case VariableType.GameObject:
                flag = this.proxy.arrayList.Contains(this.variable.gameObjectValue);
                break;

            case VariableType.String:
                flag = this.proxy.arrayList.Contains(this.variable.stringValue);
                break;

            case VariableType.Vector2:
                flag = this.proxy.arrayList.Contains(this.variable.vector2Value);
                break;

            case VariableType.Vector3:
                flag = this.proxy.arrayList.Contains(this.variable.vector3Value);
                break;

            case VariableType.Color:
                flag = this.proxy.arrayList.Contains(this.variable.colorValue);
                break;

            case VariableType.Rect:
                flag = this.proxy.arrayList.Contains(this.variable.rectValue);
                break;

            case VariableType.Material:
                flag = this.proxy.arrayList.Contains(this.variable.materialValue);
                break;

            case VariableType.Texture:
                flag = this.proxy.arrayList.Contains(this.variable.textureValue);
                break;

            case VariableType.Quaternion:
                flag = this.proxy.arrayList.Contains(this.variable.quaternionValue);
                break;

            case VariableType.Object:
                flag = this.proxy.arrayList.Contains(this.variable.objectReference);
                break;
            }
            this.isContained.Value = flag;
            if (flag)
            {
                base.Fsm.Event(this.isContainedEvent);
            }
            else
            {
                base.Fsm.Event(this.isNotContainedEvent);
            }
        }
Пример #4
0
    static public bool SetParsePropertyFromFsmVar(ParseObject _object, string property, Fsm fsm, FsmVar fsmVar)
    {
        if (_object == null)
        {
            Debug.Log("Parse Object null");
            return(false);
        }

        if (string.IsNullOrEmpty(property))
        {
            Debug.Log("property null");
            return(false);
        }

        if (!_object.ContainsKey(property))
        {
            //	return false;
        }

        PlayMakerUtils.RefreshValueFromFsmVar(fsm, fsmVar);


        if (fsmVar.Type == VariableType.Bool)
        {
            _object[property] = fsmVar.boolValue;
        }
        else if (fsmVar.Type == VariableType.Float)
        {
            _object[property] = fsmVar.floatValue;
        }
        else if (fsmVar.Type == VariableType.Int)
        {
            _object[property] = fsmVar.intValue;
        }
        else if (fsmVar.Type == VariableType.String)
        {
            _object[property] = fsmVar.stringValue;
        }
        else if (fsmVar.Type == VariableType.Color)
        {
            _object[property] = PlayMakerUtils.ParseValueToString(fsmVar.colorValue);
        }
        else if (fsmVar.Type == VariableType.GameObject)
        {
            _object[property] = PlayMakerUtils.ParseValueToString(fsmVar.gameObjectValue);
        }
        else if (fsmVar.Type == VariableType.Material)
        {
            _object[property] = PlayMakerUtils.ParseValueToString(fsmVar.materialValue);
        }
        else if (fsmVar.Type == VariableType.Quaternion)
        {
            _object[property] = PlayMakerUtils.ParseValueToString(fsmVar.quaternionValue);
        }
        else if (fsmVar.Type == VariableType.Rect)
        {
            _object[property] = PlayMakerUtils.ParseValueToString(fsmVar.rectValue);
        }
        else if (fsmVar.Type == VariableType.Texture)
        {
            _object[property] = PlayMakerUtils.ParseValueToString(fsmVar.textureValue);
        }
        else if (fsmVar.Type == VariableType.Vector2)
        {
            _object[property] = PlayMakerUtils.ParseValueToString(fsmVar.vector2Value);
        }
        else if (fsmVar.Type == VariableType.Vector3)
        {
            _object[property] = PlayMakerUtils.ParseValueToString(fsmVar.vector3Value);
        }

        return(true);
    }
        public void doesArrayListContains()
        {
            if (!isProxyValid())
            {
                return;
            }

            bool elementContained = false;

            PlayMakerUtils.RefreshValueFromFsmVar(Fsm, variable);

            switch (variable.Type)
            {
            case (VariableType.Bool):
                elementContained = proxy.arrayList.Contains(variable.boolValue);
                break;

            case (VariableType.Color):
                elementContained = proxy.arrayList.Contains(variable.colorValue);
                break;

            case (VariableType.Float):
                elementContained = proxy.arrayList.Contains(variable.floatValue);
                break;

            case (VariableType.GameObject):
                elementContained = proxy.arrayList.Contains(variable.gameObjectValue);
                break;

            case (VariableType.Int):
                elementContained = proxy.arrayList.Contains(variable.intValue);
                break;

            case (VariableType.Material):
                elementContained = proxy.arrayList.Contains(variable.materialValue);
                break;

            case (VariableType.Object):
                elementContained = proxy.arrayList.Contains(variable.objectReference);
                break;

            case (VariableType.Quaternion):
                elementContained = proxy.arrayList.Contains(variable.quaternionValue);
                break;

            case (VariableType.Rect):
                elementContained = proxy.arrayList.Contains(variable.rectValue);
                break;

            case (VariableType.String):
                elementContained = proxy.arrayList.Contains(variable.stringValue);
                break;

            case (VariableType.Texture):
                elementContained = proxy.arrayList.Contains(variable.textureValue);
                break;

            case (VariableType.Vector3):
                elementContained = proxy.arrayList.Contains(variable.vector3Value);
                break;

            case (VariableType.Vector2):
                elementContained = proxy.arrayList.Contains(variable.vector2Value);
                break;

            default:
                //ERROR
                break;
            }


            //UnityEngine.Debug.Log(elementContained.ToString());
            isContained.Value = elementContained;
            if (elementContained)
            {
                Fsm.Event(isContainedEvent);
            }
            else
            {
                Fsm.Event(isNotContainedEvent);
            }
        }