}// Awake

    /// <summary>
    /// Sets up fsm variable caching for synch.
    /// It scans the observed Fsm for all variable checked for network synching, and store the required info about them using PlayMakerPhotonFsmVariableDefinition
    /// It store all these variables in  variableLOT to be iterated during stream read and write.
    /// TODO: implement all possible variables to synch.
    /// </summary>
    private void SetUpFsmVariableToSynch()
    {
        // fill the variableLOT with all the networksynched Fsmvariables.

        // int
        foreach (FsmInt fsmInt in  observed.FsmVariables.IntVariables)
        {
            if (fsmInt.NetworkSync)
            {
                Debug.Log("network synched fsmInt: '" + fsmInt.Name + "' in fsm:'" + observed.Fsm.Name + "' in gameObject:'" + observed.gameObject.name + "'");

                PlayMakerPhotonFsmVariableDefinition varDef = new PlayMakerPhotonFsmVariableDefinition();
                varDef.name          = fsmInt.Name;
                varDef.type          = PlayMakerPhotonVarTypes.Int;
                varDef.FsmIntPointer = fsmInt;
                variableLOT.Add(varDef);
            }
        }

        // float
        foreach (FsmFloat fsmFloat in  observed.FsmVariables.FloatVariables)
        {
            if (fsmFloat.NetworkSync)
            {
                Debug.Log("network synched FsmFloat: '" + fsmFloat.Name + "' in fsm:'" + observed.Fsm.Name + "' in gameObject:'" + observed.gameObject.name + "'");

                PlayMakerPhotonFsmVariableDefinition varDef = new PlayMakerPhotonFsmVariableDefinition();
                varDef.name            = fsmFloat.Name;
                varDef.type            = PlayMakerPhotonVarTypes.Float;
                varDef.FsmFloatPointer = fsmFloat;
                variableLOT.Add(varDef);
            }
        }


        // vector3
        foreach (FsmVector3 fsmVector3 in  observed.FsmVariables.Vector3Variables)
        {
            if (fsmVector3.NetworkSync)
            {
                Debug.Log("network synched fsmVector3: '" + fsmVector3.Name + "' in fsm:'" + observed.Fsm.Name + "' in gameObject:'" + observed.gameObject.name + "'");

                PlayMakerPhotonFsmVariableDefinition varDef = new PlayMakerPhotonFsmVariableDefinition();
                varDef.name = fsmVector3.Name;
                varDef.type = PlayMakerPhotonVarTypes.Vector3;
                varDef.FsmVector3Pointer = fsmVector3;
                variableLOT.Add(varDef);
            }
        }
    }    // SetUpFsmVariableToSynch
示例#2
0
    }// Awake

    /// <summary>
    /// Sets up fsm variable caching for synch.
    /// It scans the observed Fsm for all variable checked for network synching, and store the required info about them using PlayMakerPhotonFsmVariableDefinition
    /// It store all these variables in  variableLOT to be iterated during stream read and write.
    /// TODO: implement all possible variables to synch.
    /// </summary>
    private void SetUpFsmVariableToSynch()
    {
        // fill the variableLOT with all the networksynched Fsmvariables.

        // bool
        foreach (FsmBool fsmBool in  observed.FsmVariables.BoolVariables)
        {
            if (fsmBool.NetworkSync)
            {
                Debug.Log("network synched FsmBool: '" + fsmBool.Name + "' in fsm:'" + observed.Fsm.Name + "' in gameObject:'" + observed.gameObject.name + "'");

                PlayMakerPhotonFsmVariableDefinition varDef = new PlayMakerPhotonFsmVariableDefinition();
                varDef.name           = fsmBool.Name;
                varDef.type           = PlayMakerPhotonVarTypes.Bool;
                varDef.FsmBoolPointer = fsmBool;
                variableLOT.Add(varDef);
            }
        }


        // int
        foreach (FsmInt fsmInt in  observed.FsmVariables.IntVariables)
        {
            if (fsmInt.NetworkSync)
            {
                Debug.Log("network synched fsmInt: '" + fsmInt.Name + "' in fsm:'" + observed.Fsm.Name + "' in gameObject:'" + observed.gameObject.name + "'");

                PlayMakerPhotonFsmVariableDefinition varDef = new PlayMakerPhotonFsmVariableDefinition();
                varDef.name          = fsmInt.Name;
                varDef.type          = PlayMakerPhotonVarTypes.Int;
                varDef.FsmIntPointer = fsmInt;
                variableLOT.Add(varDef);
            }
        }

        // float
        foreach (FsmFloat fsmFloat in  observed.FsmVariables.FloatVariables)
        {
            if (fsmFloat.NetworkSync)
            {
                Debug.Log("network synched FsmFloat: '" + fsmFloat.Name + "' in fsm:'" + observed.Fsm.Name + "' in gameObject:'" + observed.gameObject.name + "'");

                PlayMakerPhotonFsmVariableDefinition varDef = new PlayMakerPhotonFsmVariableDefinition();
                varDef.name            = fsmFloat.Name;
                varDef.type            = PlayMakerPhotonVarTypes.Float;
                varDef.FsmFloatPointer = fsmFloat;
                variableLOT.Add(varDef);
            }
        }

        // string
        foreach (FsmString fsmString in  observed.FsmVariables.StringVariables)
        {
            if (fsmString.NetworkSync)
            {
                Debug.Log("network synched FsmString: '" + fsmString.Name + "' in fsm:'" + observed.Fsm.Name + "' in gameObject:'" + observed.gameObject.name + "'");

                PlayMakerPhotonFsmVariableDefinition varDef = new PlayMakerPhotonFsmVariableDefinition();
                varDef.name             = fsmString.Name;
                varDef.type             = PlayMakerPhotonVarTypes.String;
                varDef.FsmStringPointer = fsmString;
                variableLOT.Add(varDef);
            }
        }

        // vector2
        foreach (FsmVector2 fsmVector2 in  observed.FsmVariables.Vector2Variables)
        {
            if (fsmVector2.NetworkSync)
            {
                Debug.Log("network synched fsmVector2: '" + fsmVector2.Name + "' in fsm:'" + observed.Fsm.Name + "' in gameObject:'" + observed.gameObject.name + "'");

                PlayMakerPhotonFsmVariableDefinition varDef = new PlayMakerPhotonFsmVariableDefinition();
                varDef.name = fsmVector2.Name;
                varDef.type = PlayMakerPhotonVarTypes.Vector2;
                varDef.FsmVector2Pointer = fsmVector2;
                variableLOT.Add(varDef);
            }
        }

        // vector3
        foreach (FsmVector3 fsmVector3 in  observed.FsmVariables.Vector3Variables)
        {
            if (fsmVector3.NetworkSync)
            {
                Debug.Log("network synched fsmVector3: '" + fsmVector3.Name + "' in fsm:'" + observed.Fsm.Name + "' in gameObject:'" + observed.gameObject.name + "'");

                PlayMakerPhotonFsmVariableDefinition varDef = new PlayMakerPhotonFsmVariableDefinition();
                varDef.name = fsmVector3.Name;
                varDef.type = PlayMakerPhotonVarTypes.Vector3;
                varDef.FsmVector3Pointer = fsmVector3;
                variableLOT.Add(varDef);
            }
        }

        // quaternion
        foreach (FsmQuaternion fsmQuaternion in  observed.FsmVariables.QuaternionVariables)
        {
            if (fsmQuaternion.NetworkSync)
            {
                Debug.Log("network synched fsmQuaternion: '" + fsmQuaternion.Name + "' in fsm:'" + observed.Fsm.Name + "' in gameObject:'" + observed.gameObject.name + "'");

                PlayMakerPhotonFsmVariableDefinition varDef = new PlayMakerPhotonFsmVariableDefinition();
                varDef.name = fsmQuaternion.Name;
                varDef.type = PlayMakerPhotonVarTypes.Quaternion;
                varDef.FsmQuaternionPointer = fsmQuaternion;
                variableLOT.Add(varDef);
            }
        }

        // rect
        foreach (FsmRect fsmRect in  observed.FsmVariables.RectVariables)
        {
            if (fsmRect.NetworkSync)
            {
                Debug.Log("network synched fsmRect: '" + fsmRect.Name + "' in fsm:'" + observed.Fsm.Name + "' in gameObject:'" + observed.gameObject.name + "'");

                PlayMakerPhotonFsmVariableDefinition varDef = new PlayMakerPhotonFsmVariableDefinition();
                varDef.name           = fsmRect.Name;
                varDef.type           = PlayMakerPhotonVarTypes.Rect;
                varDef.FsmRectPointer = fsmRect;
                variableLOT.Add(varDef);
            }
        }

        // color
        foreach (FsmColor fsmColor in  observed.FsmVariables.ColorVariables)
        {
            if (fsmColor.NetworkSync)
            {
                Debug.Log("network synched fsmColor: '" + fsmColor.Name + "' in fsm:'" + observed.Fsm.Name + "' in gameObject:'" + observed.gameObject.name + "'");

                PlayMakerPhotonFsmVariableDefinition varDef = new PlayMakerPhotonFsmVariableDefinition();
                varDef.name            = fsmColor.Name;
                varDef.type            = PlayMakerPhotonVarTypes.Color;
                varDef.FsmColorPointer = fsmColor;
                variableLOT.Add(varDef);
            }
        }
    }    // SetUpFsmVariableToSynch
    }// Awake

	/// <summary>
	/// Sets up fsm variable caching for synch.
	/// It scans the observed Fsm for all variable checked for network synching, and store the required info about them using PlayMakerPhotonFsmVariableDefinition
 	/// It store all these variables in  variableLOT to be iterated during stream read and write.
 	/// TODO: implement all possible variables to synch.
	/// </summary>
	private void SetUpFsmVariableToSynch()
	{
		
		// fill the variableLOT with all the networksynched Fsmvariables.
	
		// bool
		foreach(FsmBool fsmBool in  observed.FsmVariables.BoolVariables)
		{
			if (fsmBool.NetworkSync){
				Debug.Log ("network synched FsmBool: '"+fsmBool.Name +"' in fsm:'" +observed.Fsm.Name+"' in gameObject:'"+observed.gameObject.name+"'");
			
				PlayMakerPhotonFsmVariableDefinition varDef = new PlayMakerPhotonFsmVariableDefinition();
				varDef.name = fsmBool.Name;
				varDef.type = PlayMakerPhotonVarTypes.Bool;
				varDef.FsmBoolPointer = fsmBool;
				variableLOT.Add(varDef);
			}
		}
	
		
		// int
		foreach(FsmInt fsmInt in  observed.FsmVariables.IntVariables)
		{
			if (fsmInt.NetworkSync){
				Debug.Log ("network synched fsmInt: '"+fsmInt.Name +"' in fsm:'" +observed.Fsm.Name+"' in gameObject:'"+observed.gameObject.name+"'");
			
				PlayMakerPhotonFsmVariableDefinition varDef = new PlayMakerPhotonFsmVariableDefinition();
				varDef.name = fsmInt.Name;
				varDef.type = PlayMakerPhotonVarTypes.Int;
				varDef.FsmIntPointer = fsmInt;
				variableLOT.Add(varDef);
			}
		}
	
		// float
		foreach(FsmFloat fsmFloat in  observed.FsmVariables.FloatVariables)
		{
			if (fsmFloat.NetworkSync){
				Debug.Log ("network synched FsmFloat: '"+fsmFloat.Name +"' in fsm:'" +observed.Fsm.Name+"' in gameObject:'"+observed.gameObject.name+"'");
			
				PlayMakerPhotonFsmVariableDefinition varDef = new PlayMakerPhotonFsmVariableDefinition();
				varDef.name = fsmFloat.Name;
				varDef.type = PlayMakerPhotonVarTypes.Float;
				varDef.FsmFloatPointer = fsmFloat;
				variableLOT.Add(varDef);
			}
		}

		// string
		foreach(FsmString fsmString in  observed.FsmVariables.StringVariables)
		{
			if (fsmString.NetworkSync){
				Debug.Log ("network synched FsmString: '"+fsmString.Name +"' in fsm:'" +observed.Fsm.Name+"' in gameObject:'"+observed.gameObject.name+"'");
			
				PlayMakerPhotonFsmVariableDefinition varDef = new PlayMakerPhotonFsmVariableDefinition();
				varDef.name = fsmString.Name;
				varDef.type = PlayMakerPhotonVarTypes.String;
				varDef.FsmStringPointer = fsmString;
				variableLOT.Add(varDef);
			}
		}
	
		// vector2
		foreach(FsmVector2 fsmVector2 in  observed.FsmVariables.Vector2Variables)
		{
			if (fsmVector2.NetworkSync){
				Debug.Log ("network synched fsmVector2: '"+fsmVector2.Name +"' in fsm:'" +observed.Fsm.Name+"' in gameObject:'"+observed.gameObject.name+"'");
			
				PlayMakerPhotonFsmVariableDefinition varDef = new PlayMakerPhotonFsmVariableDefinition();
				varDef.name = fsmVector2.Name;
				varDef.type = PlayMakerPhotonVarTypes.Vector2;
				varDef.FsmVector2Pointer = fsmVector2;
				variableLOT.Add(varDef);
			}
		}
		
		// vector3
		foreach(FsmVector3 fsmVector3 in  observed.FsmVariables.Vector3Variables)
		{
			if (fsmVector3.NetworkSync){
				Debug.Log ("network synched fsmVector3: '"+fsmVector3.Name +"' in fsm:'" +observed.Fsm.Name+"' in gameObject:'"+observed.gameObject.name+"'");
			
				PlayMakerPhotonFsmVariableDefinition varDef = new PlayMakerPhotonFsmVariableDefinition();
				varDef.name = fsmVector3.Name;
				varDef.type = PlayMakerPhotonVarTypes.Vector3;
				varDef.FsmVector3Pointer = fsmVector3;
				variableLOT.Add(varDef);
			}
		}

		// quaternion
		foreach(FsmQuaternion fsmQuaternion in  observed.FsmVariables.QuaternionVariables)
		{
			if (fsmQuaternion.NetworkSync){
				Debug.Log ("network synched fsmQuaternion: '"+fsmQuaternion.Name +"' in fsm:'" +observed.Fsm.Name+"' in gameObject:'"+observed.gameObject.name+"'");
			
				PlayMakerPhotonFsmVariableDefinition varDef = new PlayMakerPhotonFsmVariableDefinition();
				varDef.name = fsmQuaternion.Name;
				varDef.type = PlayMakerPhotonVarTypes.Quaternion;
				varDef.FsmQuaternionPointer = fsmQuaternion;
				variableLOT.Add(varDef);
			}
		}

		// rect
		foreach(FsmRect fsmRect in  observed.FsmVariables.RectVariables)
		{
			if (fsmRect.NetworkSync){
				Debug.Log ("network synched fsmRect: '"+fsmRect.Name +"' in fsm:'" +observed.Fsm.Name+"' in gameObject:'"+observed.gameObject.name+"'");
			
				PlayMakerPhotonFsmVariableDefinition varDef = new PlayMakerPhotonFsmVariableDefinition();
				varDef.name = fsmRect.Name;
				varDef.type = PlayMakerPhotonVarTypes.Rect;
				varDef.FsmRectPointer = fsmRect;
				variableLOT.Add(varDef);
			}
		}
		
		// color
		foreach(FsmColor fsmColor in  observed.FsmVariables.ColorVariables)
		{
			if (fsmColor.NetworkSync){
				Debug.Log ("network synched fsmColor: '"+fsmColor.Name +"' in fsm:'" +observed.Fsm.Name+"' in gameObject:'"+observed.gameObject.name+"'");
			
				PlayMakerPhotonFsmVariableDefinition varDef = new PlayMakerPhotonFsmVariableDefinition();
				varDef.name = fsmColor.Name;
				varDef.type = PlayMakerPhotonVarTypes.Color;
				varDef.FsmColorPointer = fsmColor;
				variableLOT.Add(varDef);
			}
		}
		
	}// SetUpFsmVariableToSynch