예제 #1
0
        public void SetComponentSynchInfo(Type type, StateUpdateObject[] data)
        {
            ComponentSynchronizationDataObject componentSynchObject = null;
            int index = 0;

            while (index < ComponentSyncInfo.Count && componentSynchObject == null)
            {
                if (ComponentSyncInfo[index].ComponentType == type)
                {
                    componentSynchObject = ComponentSyncInfo[index];
                }
                index++;
            }

            if (componentSynchObject != null) // Un ComponentSyncInfoDataObject a été trouvé !
            {
                // Ajout de tous les éléments du tableau de StateUpdateObject data à la
                // liste des StateUpdateObject de ce ComponentSyncInfoDataObject.
                foreach (StateUpdateObject dataObject in data)
                {
                    componentSynchObject.SetSynchInfo(dataObject.Type, dataObject.Information);
                }
            }
            else // Pas de ComponentSyncInfoDataObject trouvés ! On en crée un nouveau.
            {
                List <StateUpdateObject> dataList = new List <StateUpdateObject>();
                foreach (StateUpdateObject obj in data)
                {
                    dataList.Add(obj);
                }
                ComponentSynchronizationDataObject newSynchObject = new ComponentSynchronizationDataObject(type, dataList);
                ComponentSyncInfo.Add(newSynchObject);
            }
        }
예제 #2
0
 public void OnSynch(ComponentSynchronizationDataObject data)
 {
     int[] humors = (int[])data.GetSynchInfo("Humors");
     Blood      = humors[0];
     Phlegm     = humors[1];
     YellowBile = humors[2];
     BlackBile  = humors[3];
 }
예제 #3
0
 public void OnSynch(ComponentSynchronizationDataObject synchData)
 {
     SpellKeyCodes = (Dictionary <uint, UnityEngine.KeyCode>)synchData.GetSynchInfo("SpellKeyCodes");
 }
예제 #4
0
 public void OnSynch(ComponentSynchronizationDataObject data)
 {
     BaseSpeed    = (float)data.GetSynchInfo("BaseSpeed");
     CurrentSpeed = (float)data.GetSynchInfo("CurrentSpeed");
     RootTime     = (float)data.GetSynchInfo("RootedTime");
 }
예제 #5
0
 public void OnSynch(ComponentSynchronizationDataObject data)
 {
     value = (float)data.GetSynchInfo("Value");
 }