示例#1
0
        protected GVar GetVariable()
        {
            GVar _var = null;

            switch (location)
            {
            case VariableLocation.Global:
                if (AdvGame.GetReferences().variablesManager)
                {
                    _var = AdvGame.GetReferences().variablesManager.GetVariable(variableID);
                }
                break;

            case VariableLocation.Local:
                if (!isAssetFile)
                {
                    _var = LocalVariables.GetVariable(variableID, localVariables);
                }
                break;

            case VariableLocation.Component:
                Variables runtimeVariables = AssignFile <Variables> (variablesConstantID, variables);
                if (runtimeVariables != null)
                {
                    _var = runtimeVariables.GetVariable(variableID);
                }
                break;
            }

            if (_var != null && _var.type == VariableType.PopUp)
            {
                return(_var);
            }
            return(null);
        }
        public override void AssignValues(List <ActionParameter> parameters)
        {
            invID = AssignInvItemID(parameters, invParameterID, invID);

            runtimeVariable = null;
            switch (varLocation)
            {
            case VariableLocation.Global:
                variableID      = AssignVariableID(parameters, varParameterID, variableID);
                runtimeVariable = GlobalVariables.GetVariable(variableID, true);
                break;

            case VariableLocation.Local:
                if (!isAssetFile)
                {
                    variableID      = AssignVariableID(parameters, varParameterID, variableID);
                    runtimeVariable = LocalVariables.GetVariable(variableID, localVariables);
                }
                break;

            case VariableLocation.Component:
                Variables runtimeVariables = AssignFile <Variables> (variablesConstantID, variables);
                if (runtimeVariables != null)
                {
                    runtimeVariable = runtimeVariables.GetVariable(variableID);
                }
                runtimeVariable = AssignVariable(parameters, varParameterID, runtimeVariable);
                break;
            }
        }
        override public void AssignValues(List <ActionParameter> parameters)
        {
            runtimeObToRead = AssignFile(parameters, obToReadParameterID, obToReadConstantID, obToRead);

            runtimeVariable = null;
            switch (variableLocation)
            {
            case VariableLocation.Global:
                variableID      = AssignVariableID(parameters, variableParameterID, variableID);
                runtimeVariable = GlobalVariables.GetVariable(variableID, true);
                break;

            case VariableLocation.Local:
                if (!isAssetFile)
                {
                    variableID      = AssignVariableID(parameters, variableParameterID, variableID);
                    runtimeVariable = LocalVariables.GetVariable(variableID, localVariables);
                }
                break;

            case VariableLocation.Component:
                runtimeVariables = AssignFile <Variables> (variablesConstantID, variables);
                if (runtimeVariables != null)
                {
                    runtimeVariable = runtimeVariables.GetVariable(variableID);
                }
                runtimeVariable  = AssignVariable(parameters, variableParameterID, runtimeVariable);
                runtimeVariables = AssignVariablesComponent(parameters, variableParameterID, runtimeVariables);
                break;
            }
        }
示例#4
0
        private GVar GetVariable()
        {
            switch (location)
            {
            case VariableLocation.Global:
                VariablesManager variablesManager = AdvGame.GetReferences().variablesManager;
                if (variablesManager != null)
                {
                    return(variablesManager.GetVariable(variableID));
                }
                return(null);

            case VariableLocation.Local:
                return(LocalVariables.GetVariable(variableID));

            case VariableLocation.Component:
                if (variables != null)
                {
                    return(variables.GetVariable(variableID));
                }
                break;
            }

            return(null);
        }
示例#5
0
        public override void AssignValues(List <ActionParameter> parameters)
        {
            intValue     = AssignInteger(parameters, checkParameterID, intValue);
            boolValue    = AssignBoolean(parameters, checkParameterID, boolValue);
            floatValue   = AssignFloat(parameters, checkParameterID, floatValue);
            vector3Value = AssignVector3(parameters, checkParameterID, vector3Value);
            stringValue  = AssignString(parameters, checkParameterID, stringValue);

            runtimeVariable = null;
            switch (location)
            {
            case VariableLocation.Global:
                variableID      = AssignVariableID(parameters, parameterID, variableID);
                runtimeVariable = GlobalVariables.GetVariable(variableID, true);
                break;

            case VariableLocation.Local:
                if (!isAssetFile)
                {
                    variableID      = AssignVariableID(parameters, parameterID, variableID);
                    runtimeVariable = LocalVariables.GetVariable(variableID, localVariables);
                }
                break;

            case VariableLocation.Component:
                Variables runtimeVariables = AssignFile <Variables> (variablesConstantID, variables);
                if (runtimeVariables != null)
                {
                    runtimeVariable = runtimeVariables.GetVariable(variableID);
                }
                runtimeVariable = AssignVariable(parameters, parameterID, runtimeVariable);
                break;
            }

            runtimeCompareVariable = null;
            switch (getVarMethod)
            {
            case GetVarMethod.GlobalVariable:
                compareVariableID      = AssignVariableID(parameters, checkParameterID, compareVariableID);
                runtimeCompareVariable = GlobalVariables.GetVariable(compareVariableID, true);
                break;

            case GetVarMethod.LocalVariable:
                compareVariableID      = AssignVariableID(parameters, checkParameterID, compareVariableID);
                runtimeCompareVariable = LocalVariables.GetVariable(compareVariableID, localVariables);
                break;

            case GetVarMethod.ComponentVariable:
                Variables runtimeCompareVariables = AssignFile <Variables> (compareVariablesConstantID, compareVariables);
                if (runtimeCompareVariables != null)
                {
                    runtimeCompareVariable = runtimeCompareVariables.GetVariable(compareVariableID);
                }
                runtimeCompareVariable = AssignVariable(parameters, checkParameterID, runtimeCompareVariable);
                break;

            default:
                break;
            }
        }
示例#6
0
        public override void AssignValues(List <ActionParameter> parameters)
        {
            if (isPlayer)
            {
                if (KickStarter.player != null)
                {
                    runtimeLinkedProp = KickStarter.player.GetComponent <Moveable>();
                }
                else
                {
                    runtimeLinkedProp = null;
                }
            }
            else
            {
                runtimeLinkedProp = AssignFile <Moveable> (parameters, parameterID, constantID, linkedProp);
            }

            runtimeMarker  = AssignFile <Marker> (parameters, markerParameterID, markerID, marker);
            transitionTime = AssignFloat(parameters, transitionTimeParameterID, transitionTime);
            newVector      = AssignVector3(parameters, newVectorParameterID, newVector);

            if (!(transformType == TransformType.CopyMarker ||
                  (transformType == TransformType.Translate && toBy == ToBy.To) ||
                  (transformType == TransformType.Rotate && toBy == ToBy.To)))
            {
                inWorldSpace = false;
            }

            runtimeVariable = null;
            if (transformType != TransformType.CopyMarker && setVectorMethod == SetVectorMethod.FromVector3Variable)
            {
                switch (variableLocation)
                {
                case VariableLocation.Global:
                    vectorVarID     = AssignVariableID(parameters, vectorVarParameterID, vectorVarID);
                    runtimeVariable = GlobalVariables.GetVariable(vectorVarID, true);
                    break;

                case VariableLocation.Local:
                    if (!isAssetFile)
                    {
                        vectorVarID     = AssignVariableID(parameters, vectorVarParameterID, vectorVarID);
                        runtimeVariable = LocalVariables.GetVariable(vectorVarID, localVariables);
                    }
                    break;

                case VariableLocation.Component:
                    Variables runtimeVariables = AssignFile <Variables> (variablesConstantID, variables);
                    if (runtimeVariables != null)
                    {
                        runtimeVariable = runtimeVariables.GetVariable(vectorVarID);
                    }
                    runtimeVariable = AssignVariable(parameters, vectorVarParameterID, runtimeVariable);
                    break;
                }
            }
        }
示例#7
0
        override public void AssignValues(List <ActionParameter> parameters)
        {
            oldRuntimeVariable = null;
            switch (oldLocation)
            {
            case VariableLocation.Global:
                oldVariableID      = AssignVariableID(parameters, oldParameterID, oldVariableID);
                oldRuntimeVariable = GlobalVariables.GetVariable(oldVariableID);
                break;

            case VariableLocation.Local:
                if (!isAssetFile)
                {
                    oldVariableID      = AssignVariableID(parameters, oldParameterID, oldVariableID);
                    oldRuntimeVariable = LocalVariables.GetVariable(oldVariableID, localVariables);
                }
                break;

            case VariableLocation.Component:
                Variables oldRuntimeVariables = AssignFile <Variables> (oldVariablesConstantID, oldVariables);
                if (oldRuntimeVariables != null)
                {
                    oldRuntimeVariable = oldRuntimeVariables.GetVariable(oldVariableID);
                }
                oldRuntimeVariable = AssignVariable(parameters, oldParameterID, oldRuntimeVariable);
                break;
            }

            newRuntimeVariable = null;
            switch (newLocation)
            {
            case VariableLocation.Global:
                newVariableID      = AssignVariableID(parameters, newParameterID, newVariableID);
                newRuntimeVariable = GlobalVariables.GetVariable(newVariableID, true);
                break;

            case VariableLocation.Local:
                if (!isAssetFile)
                {
                    newVariableID      = AssignVariableID(parameters, newParameterID, newVariableID);
                    newRuntimeVariable = LocalVariables.GetVariable(newVariableID, localVariables);
                }
                break;

            case VariableLocation.Component:
                newRuntimeVariables = AssignFile <Variables> (newVariablesConstantID, newVariables);
                if (newRuntimeVariables != null)
                {
                    newRuntimeVariable = newRuntimeVariables.GetVariable(newVariableID);
                }
                newRuntimeVariable  = AssignVariable(parameters, newParameterID, newRuntimeVariable);
                newRuntimeVariables = AssignVariablesComponent(parameters, newParameterID, newRuntimeVariables);
                break;
            }
        }
示例#8
0
        override public void AssignValues(List <ActionParameter> parameters)
        {
            if (invAction == InvAction.Add || invAction == InvAction.Replace)
            {
                _gameObject = AssignFile(parameters, parameterID, 0, gameObject);

                if (invAction == InvAction.Replace)
                {
                    replaceGameObject = AssignFile(parameters, replaceParameterID, replaceConstantID, replaceGameObject);
                }
                else if (invAction == InvAction.Add)
                {
                    relativeGameObject = AssignFile(parameters, relativeGameObjectParameterID, relativeGameObjectID, relativeGameObject);
                }
            }
            else if (invAction == InvAction.Remove)
            {
                _gameObject = AssignFile(parameters, parameterID, constantID, gameObject);
            }

            relativeVector = AssignVector3(parameters, relativeVectorParameterID, relativeVector);

            if (invAction == InvAction.Add && positionRelativeTo == PositionRelativeTo.VectorVariable)
            {
                runtimeVariable = null;
                switch (variableLocation)
                {
                case VariableLocation.Global:
                    vectorVarID     = AssignVariableID(parameters, vectorVarParameterID, vectorVarID);
                    runtimeVariable = GlobalVariables.GetVariable(vectorVarID, true);
                    break;

                case VariableLocation.Local:
                    if (!isAssetFile)
                    {
                        vectorVarID     = AssignVariableID(parameters, vectorVarParameterID, vectorVarID);
                        runtimeVariable = LocalVariables.GetVariable(vectorVarID, localVariables);
                    }
                    break;

                case VariableLocation.Component:
                    Variables runtimeVariables = AssignFile <Variables> (variablesConstantID, variables);
                    if (runtimeVariables != null)
                    {
                        runtimeVariable = runtimeVariables.GetVariable(vectorVarID);
                    }
                    runtimeVariable = AssignVariable(parameters, vectorVarParameterID, runtimeVariable);
                    break;
                }
            }
        }
示例#9
0
        override public ActionEnd End(List <AC.Action> actions)
        {
            if (_parameter == null)
            {
                return(GenerateStopActionEnd());
            }

            GVar     compareVar  = null;
            InvItem  compareItem = null;
            Document compareDoc  = null;

            if (_parameter.parameterType == ParameterType.GlobalVariable ||
                _parameter.parameterType == ParameterType.LocalVariable ||
                _parameter.parameterType == ParameterType.ComponentVariable ||
                _parameter.parameterType == ParameterType.InventoryItem ||
                _parameter.parameterType == ParameterType.Document)
            {
                if (compareVariableID == -1)
                {
                    return(GenerateStopActionEnd());
                }

                if (_parameter.parameterType == ParameterType.GlobalVariable)
                {
                    compareVar = GlobalVariables.GetVariable(compareVariableID, true);
                }
                else if (_parameter.parameterType == ParameterType.LocalVariable && !isAssetFile)
                {
                    compareVar = LocalVariables.GetVariable(compareVariableID);
                }
                else if (_parameter.parameterType == ParameterType.ComponentVariable)
                {
                    runtimeCompareVariables = AssignFile <Variables> (compareObjectConstantID, compareVariables);
                    if (runtimeCompareVariables != null)
                    {
                        compareVar = runtimeCompareVariables.GetVariable(compareVariableID);
                    }
                }
                else if (_parameter.parameterType == ParameterType.InventoryItem)
                {
                    compareItem = KickStarter.inventoryManager.GetItem(compareVariableID);
                }
                else if (_parameter.parameterType == ParameterType.Document)
                {
                    compareDoc = KickStarter.inventoryManager.GetDocument(compareVariableID);
                }
            }

            return(ProcessResult(CheckCondition(compareItem, compareVar, compareDoc), actions));
        }
示例#10
0
        public GVar GetVariable()
        {
            switch (parameterType)
            {
            case ParameterType.GlobalVariable:
                return(GlobalVariables.GetVariable(intValue, true));

            case ParameterType.LocalVariable:
                return(LocalVariables.GetVariable(intValue));

            case ParameterType.ComponentVariable:
                if (variables != null)
                {
                    return(variables.GetVariable(intValue));
                }
                break;
            }
            return(null);
        }
        override public void AssignValues(List <ActionParameter> parameters)
        {
            runtimeObToMove    = AssignFile(parameters, obToMoveParameterID, obToMoveID, obToMove);
            runtimeTeleporter  = AssignFile <Marker> (parameters, markerParameterID, markerID, teleporter);
            relativeGameObject = AssignFile(parameters, relativeGameObjectParameterID, relativeGameObjectID, relativeGameObject);

            relativeVector = AssignVector3(parameters, relativeVectorParameterID, relativeVector);

            if (isPlayer && KickStarter.player)
            {
                runtimeObToMove = KickStarter.player.gameObject;
            }

            runtimeVariable = null;
            if (positionRelativeTo == PositionRelativeTo.VectorVariable)
            {
                switch (variableLocation)
                {
                case VariableLocation.Global:
                    vectorVarID     = AssignVariableID(parameters, vectorVarParameterID, vectorVarID);
                    runtimeVariable = GlobalVariables.GetVariable(vectorVarID, true);
                    break;

                case VariableLocation.Local:
                    if (!isAssetFile)
                    {
                        vectorVarID     = AssignVariableID(parameters, vectorVarParameterID, vectorVarID);
                        runtimeVariable = LocalVariables.GetVariable(vectorVarID, localVariables);
                    }
                    break;

                case VariableLocation.Component:
                    Variables runtimeVariables = AssignFile <Variables> (variablesConstantID, variables);
                    if (runtimeVariables != null)
                    {
                        runtimeVariable = runtimeVariables.GetVariable(vectorVarID);
                    }
                    runtimeVariable = AssignVariable(parameters, vectorVarParameterID, runtimeVariable);
                    break;
                }
            }
        }
示例#12
0
        public override void AssignValues(List <ActionParameter> parameters)
        {
            intValue     = AssignInteger(parameters, setParameterID, intValue);
            boolValue    = AssignBoolean(parameters, setParameterID, boolValue);
            floatValue   = AssignFloat(parameters, setParameterID, floatValue);
            vector3Value = AssignVector3(parameters, setParameterID, vector3Value);
            stringValue  = AssignString(parameters, setParameterID, stringValue);
            formula      = AssignString(parameters, setParameterID, formula);
            slotNumber   = AssignInteger(parameters, slotNumberParameterID, slotNumber);

            runtimeVariable = null;
            switch (location)
            {
            case VariableLocation.Global:
                variableID      = AssignVariableID(parameters, parameterID, variableID);
                runtimeVariable = GlobalVariables.GetVariable(variableID, true);
                break;

            case VariableLocation.Local:
                if (!isAssetFile)
                {
                    variableID      = AssignVariableID(parameters, parameterID, variableID);
                    runtimeVariable = LocalVariables.GetVariable(variableID, localVariables);
                }
                break;

            case VariableLocation.Component:
                runtimeVariables = AssignFile <Variables> (variablesConstantID, variables);
                if (runtimeVariables != null)
                {
                    runtimeVariable = runtimeVariables.GetVariable(variableID);
                }
                runtimeVariable  = AssignVariable(parameters, parameterID, runtimeVariable);
                runtimeVariables = AssignVariablesComponent(parameters, parameterID, runtimeVariables);
                break;
            }
        }
示例#13
0
        public override void AssignValues(List <ActionParameter> parameters)
        {
            GameObject      invPrefab = null;
            ActionParameter parameter = GetParameterWithID(parameters, parameterID);

            if (parameter != null && parameter.parameterType == ParameterType.InventoryItem)
            {
                InvItem invItem = KickStarter.inventoryManager.GetItem(parameter.intValue);
                if (invItem != null)
                {
                    invPrefab = invItem.linkedPrefab;
                }
            }

            switch (invAction)
            {
            case InvAction.Add:
            case InvAction.Replace:
                if (invPrefab != null)
                {
                    _gameObject = invPrefab;
                }
                else
                {
                    _gameObject = AssignFile(parameters, parameterID, 0, gameObject);
                }

                if (invAction == InvAction.Replace)
                {
                    replaceGameObject = AssignFile(parameters, replaceParameterID, replaceConstantID, replaceGameObject);
                }
                else if (invAction == InvAction.Add)
                {
                    relativeGameObject = AssignFile(parameters, relativeGameObjectParameterID, relativeGameObjectID, relativeGameObject);
                }
                break;

            case InvAction.Remove:
                if (invPrefab != null)
                {
                    ConstantID invPrefabConstantID = invPrefab.GetComponent <ConstantID> ();
                    if (invPrefabConstantID != null && invPrefabConstantID.constantID != 0)
                    {
                        _gameObject = AssignFile(invPrefabConstantID.constantID, _gameObject);
                    }
                    else
                    {
                        LogWarning("Cannot locate scene instance of prefab " + invPrefab + " as it has no Constant ID number");
                    }
                }
                else
                {
                    _gameObject = AssignFile(parameters, parameterID, constantID, gameObject);
                }

                if (_gameObject != null && !_gameObject.activeInHierarchy)
                {
                    _gameObject = null;
                }
                break;

            default:
                break;
            }

            relativeVector = AssignVector3(parameters, relativeVectorParameterID, relativeVector);

            if (invAction == InvAction.Add && positionRelativeTo == PositionRelativeTo.VectorVariable)
            {
                runtimeVariable = null;
                switch (variableLocation)
                {
                case VariableLocation.Global:
                    vectorVarID     = AssignVariableID(parameters, vectorVarParameterID, vectorVarID);
                    runtimeVariable = GlobalVariables.GetVariable(vectorVarID, true);
                    break;

                case VariableLocation.Local:
                    if (!isAssetFile)
                    {
                        vectorVarID     = AssignVariableID(parameters, vectorVarParameterID, vectorVarID);
                        runtimeVariable = LocalVariables.GetVariable(vectorVarID, localVariables);
                    }
                    break;

                case VariableLocation.Component:
                    Variables runtimeVariables = AssignFile <Variables> (variablesConstantID, variables);
                    if (runtimeVariables != null)
                    {
                        runtimeVariable = runtimeVariables.GetVariable(vectorVarID);
                    }
                    runtimeVariable = AssignVariable(parameters, vectorVarParameterID, runtimeVariable);
                    break;
                }
            }

            runtimeSpawnedObjectParameter = null;
            if (invAction == InvAction.Add)
            {
                runtimeSpawnedObjectParameter = GetParameterWithID(parameters, spawnedObjectParameterID);
                if (runtimeSpawnedObjectParameter != null && runtimeSpawnedObjectParameter.parameterType != ParameterType.GameObject)
                {
                    runtimeSpawnedObjectParameter = null;
                }
            }
        }