Exemplo n.º 1
0
        public override void OnEnter()
        {
            ulong    ID = ulong.Parse(this.steamID.Value);
            CSteamID IDsteam;

            IDsteam.m_SteamID = ID;
            userNameHistory.Resize(0);
            int  index = 1;
            bool done  = false;

            while (!done)
            {
                string userName = SteamFriends.GetFriendPersonaNameHistory(IDsteam, index);
                if (userName != "")
                {
                    userNameHistory.Resize(userNameHistory.Length + 1);
                    userNameHistory.Set(userNameHistory.Length - 1, userName);
                    index++;
                }
                else
                {
                    done = true;
                    if (index < 2)
                    {
                        Fsm.Event(noHistory);
                    }
                    else
                    {
                        Fsm.Event(historyFound);
                    }
                }
            }
            Finish();
        }
        void DoGetEnumValues()
        {
            //reset results
            saveAsEnumArray.Resize(0);
            Array.Clear(saveAsEnumArray.Values, 0, saveAsEnumArray.Length);
            saveAsStringArray.Resize(0);
            Array.Clear(saveAsStringArray.Values, 0, saveAsStringArray.Length);
            saveAsString.Value = "";

            //get Types
            var enumType  = enumVariable.Value.GetType();
            var arrayType = saveAsEnumArray.GetType();

            //check if Types match
            if (enumType != arrayType)
            {
                Debug.LogWarning("Array and Enum are not of the same Enum-Type. Please match them in the Variables-Editor.");
            }

            foreach (var singleItem in Enum.GetValues(enumType))
            {
                saveAsEnumArray.Resize(saveAsEnumArray.Length + 1);
                saveAsEnumArray.Set(saveAsEnumArray.Length - 1, singleItem);

                saveAsStringArray.Resize(saveAsStringArray.Length + 1);
                saveAsStringArray.Set(saveAsStringArray.Length - 1, singleItem.ToString());

                saveAsString.Value += singleItem.ToString() + ", ";
            }
            saveAsString.Value = saveAsString.Value.TrimEnd(", ".ToCharArray());
        }
        void DoGetCsvColumn()
        {
            CsvData _data = CsvData.GetReference(reference.Value);

            if (_data == null)
            {
                Fsm.Event(errorEvent);
                result.Resize(0);
                return;
            }

            int _column = zeroBasedIndexing?column.Value:column.Value - 1;

            if (_data.ColumnCount <= _column)
            {
                LogError("Csv Data '" + reference.Value + "' doesn't have " + (_column) + " columns, only " + _data.ColumnCount);
                Fsm.Event(errorEvent);
                result.Resize(0);
                return;
            }

            result.Resize(_data.RecordCount);
            for (int i = 0; i < _data.RecordCount; i++)
            {
                result.Set(i, _data.GetFieldAt(i, _column, false));
            }


            result.SaveChanges();
        }
Exemplo n.º 4
0
        void DoGetCsvFields()
        {
            CsvData _data = CsvData.GetReference(reference.Value);

            if (_data == null)
            {
                Fsm.Event(errorEvent);
                fields.Resize(0);
                return;
            }

            int _record = zeroBasedIndexing?record.Value:record.Value - 1;

            if (_data.RecordCount <= _record)
            {
                LogError("Csv Data '" + reference.Value + "' doesn't have " + (_record + 1) + " records, only " + _data.RecordCount);

                Fsm.Event(errorEvent);
                fields.Resize(0);
                return;
            }



            fields.stringValues = _data.GetRecordAt(_record);
            fields.SaveChanges();
        }
Exemplo n.º 5
0
        public override void OnEnter()
        {
            steamIDList.Resize(0);
            int count = SteamFriends.GetFriendCount(EFriendFlags.k_EFriendFlagImmediate);

            for (int i = 0; i < count; i++)
            {
                CSteamID ID = SteamFriends.GetFriendByIndex(i, EFriendFlags.k_EFriendFlagImmediate);
                steamIDList.Resize(steamIDList.Length + 1);
                steamIDList.Set(steamIDList.Length - 1, ID.ToString());
            }
            Finish();
        }
Exemplo n.º 6
0
		public static FsmArray LoadArray(ref FsmArray array,string filename,ES2Settings setting){
			
//			FsmArray array=new FsmArray();
			VariableType t=array.ElementType;
			
			switch(t){
			case VariableType.Bool:{
					bool[] bs=ES2.LoadArray<bool>(filename, setting);
//					array.Values=(object[])bs;
//					array.Values=bs;
					array.Resize(bs.Length);
					for(int i=0;i<bs.Length;i++){
						array.Set(i,(object)bs[i]);
					}
					break;
				}
			case VariableType.Int:{
					int[] bs=ES2.LoadArray<int>(filename, setting);
//					array.intValues=ints;
					array.Resize(bs.Length);
					for(int i=0;i<bs.Length;i++){
						array.Set(i,(object)bs[i]);
					}
					break;
				}
			case VariableType.Float:{
					float[]bs=ES2.LoadArray<float>(filename, setting);
					array.Resize(bs.Length);
					for(int i=0;i<bs.Length;i++){
						array.Set(i,(object)bs[i]);
					}
					break;
				}
			case VariableType.String:{
					string[]bs=ES2.LoadArray<string>(filename, setting);
					array.Resize(bs.Length);
					for(int i=0;i<bs.Length;i++){
						array.Set(i,(object)bs[i]);
					}
					break;
				}
			default:{
					break;
				}
			}

			return array;
		}
Exemplo n.º 7
0
        public override void OnEnter()
        {
            GameServices.TurnBased.GetAllMatches((allMatches) =>
            {
                if (allMatches != null)
                {
                    matchCount.Value = allMatches.Length;

                    matches.Resize(matchCount.Value);

                    for (int i = 0; i < matchCount.Value; i++)
                    {
                        TurnBasedMatchObject matchObject = new TurnBasedMatchObject();

                        matchObject.Match = allMatches[i];

                        matches.Set(i, matchObject);
                    }
                    Fsm.Event(eventTarget, isSuccessEvent);
                    Finish();
                }
                else
                {
                    Fsm.Event(eventTarget, isNotSuccessEvent);
                    Finish();
                }
            });
        }
Exemplo n.º 8
0
        private void DoSetFsmArrayCopy()
        {
            var go = Fsm.GetOwnerDefaultTarget(gameObject);

            if (!UpdateCache(go, fsmName.Value))
            {
                return;
            }

            var fsmArray = fsm.FsmVariables.GetFsmArray(variableName.Value);

            if (fsmArray != null)
            {
                if (fsmArray.ElementType != storeValue.ElementType)
                {
                    LogError("Can only copy arrays with the same elements type. Found <" + fsmArray.ElementType + "> and <" + storeValue.ElementType + ">");
                    return;
                }

                storeValue.Resize(0);
                if (copyValues)
                {
                    storeValue.Values = fsmArray.Values.Clone() as object[];
                }
                else
                {
                    storeValue.Values = fsmArray.Values;
                }
                storeValue.SaveChanges();
            }
            else
            {
                DoVariableNotFound(variableName.Value);
            }
        }
Exemplo n.º 9
0
        private void DoAddValue()
        {
            //incorporate the check for empty or not empty if the value is of type string
            if (value.Type == VariableType.String)
            {
                if (ifEmpty.Value)
                {
                    if (!string.IsNullOrEmpty(value.stringValue))
                    {
                        return;
                    }
                }
                else
                {
                    if (string.IsNullOrEmpty(value.stringValue))
                    {
                        return;
                    }
                }
            }

            array.Resize(array.Length + 1);
            value.UpdateValue();
            array.Set(array.Length - 1, value.GetValue());
        }
Exemplo n.º 10
0
        public override void OnEnter()
        {
            if (mStaticThings.I == null)
            {
                return;
            }
            else
            {
                roomids.Resize(0);
                voiceids.Resize(0);
                List <string> temproomids  = new List <string>();
                List <string> tempvoiceids = new List <string>();
                for (int i = 0; i < mStaticThings.I.LastIDLinkChanelRoomList.Count; i++)
                {
                    temproomids.Add(mStaticThings.I.LastIDLinkChanelRoomList[i].roomid);
                }
                for (int i = 0; i < mStaticThings.I.LastIDLinkChanelRoomList.Count; i++)
                {
                    tempvoiceids.Add(mStaticThings.I.LastIDLinkChanelRoomList[i].voiceid);
                }
                roomids.Values  = temproomids.ToArray().Clone() as object[];
                voiceids.Values = tempvoiceids.ToArray().Clone() as object[];

                roomids.SaveChanges();
                voiceids.SaveChanges();
            }
            Finish();
        }
        public override void OnEnter()
        {
            FindChildrenRecursive(Owner);

            if (children.Count != 0)
            {
                result.Resize(children.Count);

                int i = 0;
                foreach (var child in children)
                {
                    result.Set(i, child);
                    i++;
                }

                result.SaveChanges();

                Fsm.Event(successEvent);
            }
            else
            {
                Fsm.Event(failedEvent);
            }

            Finish();
        }
Exemplo n.º 12
0
        public override void OnEnter()
        {
            int sort;

            if (mStaticThings.I == null)
            {
                sort = 0;
                return;
            }
            else
            {
                sort = mStaticThings.I.GetSortNumber(mStaticThings.I.mAvatarID);
                AllAvatars.Resize(0);
                AllAvatarNames.Resize(0);
                ActiveAvatars.Resize(0);
                ActiveNickNames.Resize(0);
                AllAvatars.Values      = mStaticThings.I.GetAllStaticAvatarList().ToArray().Clone() as object[];
                AllAvatarNames.Values  = mStaticThings.I.GetAllStaticAvatarsDicNames().ToArray().Clone() as object[];
                ActiveAvatars.Values   = mStaticThings.I.GetAllActiveAvatarList().ToArray().Clone() as object[];
                ActiveNickNames.Values = mStaticThings.I.GetAllActiveAvatarsDicNames().ToArray().Clone() as object[];
                AllAvatars.SaveChanges();
                AllAvatarNames.SaveChanges();
                ActiveAvatars.SaveChanges();
                ActiveNickNames.SaveChanges();
            }
            Sort.Value = sort;
            Finish();
        }
Exemplo n.º 13
0
        public override void OnEnter()
        {
            TurnBasedMatchObject temp = (TurnBasedMatchObject)matchObject.Value;

            TurnBasedMatch match = temp.Match;

            matchId.Value        = match.MatchId;
            playerCount          = match.PlayerCount;
            hasVacantSlot        = match.HasVacantSlot;
            isMyTurn             = match.IsMyTurn;
            currentParticipantId = match.CurrentParticipantId;
            selfParticipantId    = match.SelfParticipantId;


            if (match.PlayerCount > 0)
            {
                participantIds.Resize(match.PlayerCount);

                Participant[] participants = match.Participants;
                for (int i = 0; i < match.PlayerCount; i++)
                {
                    participantIds.Set(i, participants[i].ParticipantId);
                }
            }
            Finish();
        }
        public override void OnEnter()
        {
            MultiplayerInvitationObject temp = (MultiplayerInvitationObject)inputInvitationObject.Value;
            Invitation invitation            = temp.Invitation;

            if (showUnhandledInvitation.Value == true)
            {
                invitationObject.Value = temp;
                invitationPanel.Value.SetActive(true);
                invitationTextInfoObject.Value.GetComponent <Text>().text = "<b>Inviter:</b>\n" + (invitation.Inviter.DisplayName);
                RectTransform cg = invitationPanel.Value.GetComponent <RectTransform>();
                cg.localScale = new Vector3(1, 1, 1);
            }
            else if (invitationPanel.Value.activeSelf == true)
            {
                int tempLength = unhandledInvitations != null ? unhandledInvitations.Values.Length : 0;
                unhandledInvitations.Resize(tempLength + 1);
                unhandledInvitations.Set(tempLength, temp);
            }
            else
            {
                invitationObject.Value = inputInvitationObject.Value;
                invitationTextInfoObject.Value.GetComponent <Text>().text = "<b>Inviter:</b>\n" + (invitation.Inviter.DisplayName);
                invitationPanel.Value.SetActive(true);
                RectTransform cg = invitationPanel.Value.GetComponent <RectTransform>();
                cg.localScale = new Vector3(1, 1, 1);
            }
            Finish();
        }
Exemplo n.º 15
0
        private void ExecuteRayCastAll()
        {
            pointer = new PointerEventData(EventSystem.current);
            if (!orScreenPosition2d.IsNone)
            {
                pointer.position = orScreenPosition2d.Value;
            }
            else
            {
                pointer.position = new Vector2(screenPosition.Value.x, screenPosition.Value.y);
            }

            EventSystem.current.RaycastAll(pointer, raycastResults);

            if (!hitCount.IsNone)
            {
                hitCount.Value = raycastResults.Count;
            }

            gameObjectList.Resize(raycastResults.Count);

            var i = 0;

            foreach (var _res in raycastResults)
            {
                if (!gameObjectList.IsNone)
                {
                    gameObjectList.Set(i, _res.gameObject);
                }
            }
        }
Exemplo n.º 16
0
        private void DoSetFsmArrayCopy()
        {
            GameObject ownerDefaultTarget = base.Fsm.GetOwnerDefaultTarget(gameObject);

            if (!UpdateCache(ownerDefaultTarget, fsmName.Value))
            {
                return;
            }
            FsmArray fsmArray = fsm.FsmVariables.GetFsmArray(variableName.Value);

            if (fsmArray != null)
            {
                if (fsmArray.ElementType != setValue.ElementType)
                {
                    LogError(string.Concat("Can only copy arrays with the same elements type. Found <", fsmArray.ElementType, "> and <", setValue.ElementType, ">"));
                }
                else
                {
                    fsmArray.Resize(0);
                    if (copyValues)
                    {
                        fsmArray.Values = setValue.Values.Clone() as object[];
                    }
                    else
                    {
                        fsmArray.Values = setValue.Values;
                    }
                }
            }
            else
            {
                DoVariableNotFound(variableName.Value);
            }
        }
Exemplo n.º 17
0
        private void DoTransferValue()
        {
            if (arraySource.IsNone || arrayTarget.IsNone)
            {
                return;
            }
            int value = indexToTransfer.Value;

            if (value < 0 || value >= arraySource.Length)
            {
                base.Fsm.Event(indexOutOfRange);
                return;
            }
            object obj = arraySource.Values[value];

            if ((ArrayTransferType)(object)copyType.Value == ArrayTransferType.Cut)
            {
                List <object> list = new List <object>(arraySource.Values);
                list.RemoveAt(value);
                arraySource.Values = list.ToArray();
            }
            else if ((ArrayTransferType)(object)copyType.Value == ArrayTransferType.nullify)
            {
                arraySource.Values.SetValue(null, value);
            }
            if ((ArrayPasteType)(object)pasteType.Value == ArrayPasteType.AsFirstItem)
            {
                List <object> list2 = new List <object>(arrayTarget.Values);
                list2.Insert(0, obj);
                arrayTarget.Values = list2.ToArray();
            }
            else if ((ArrayPasteType)(object)pasteType.Value == ArrayPasteType.AsLastItem)
            {
                arrayTarget.Resize(arrayTarget.Length + 1);
                arrayTarget.Set(arrayTarget.Length - 1, obj);
            }
            else if ((ArrayPasteType)(object)pasteType.Value == ArrayPasteType.InsertAtSameIndex)
            {
                if (value >= arrayTarget.Length)
                {
                    base.Fsm.Event(indexOutOfRange);
                }
                List <object> list2 = new List <object>(arrayTarget.Values);
                list2.Insert(value, obj);
                arrayTarget.Values = list2.ToArray();
            }
            else if ((ArrayPasteType)(object)pasteType.Value == ArrayPasteType.ReplaceAtSameIndex)
            {
                if (value >= arrayTarget.Length)
                {
                    base.Fsm.Event(indexOutOfRange);
                }
                else
                {
                    arrayTarget.Set(value, obj);
                }
            }
        }
Exemplo n.º 18
0
        void DoGetSceneProperties()
        {
            if (!_sceneFound)
            {
                return;
            }

            if (!name.IsNone)
            {
                name.Value = _scene.name;
            }

            if (!buildIndex.IsNone)
            {
                buildIndex.Value = _scene.buildIndex;
            }

            if (!path.IsNone)
            {
                path.Value = _scene.path;
            }

            if (!isValid.IsNone)
            {
                isValid.Value = _scene.IsValid();
            }

            if (!isDirty.IsNone)
            {
                isDirty.Value = _scene.isDirty;
            }

            if (!isLoaded.IsNone)
            {
                isLoaded.Value = _scene.isLoaded;
            }

            if (!rootCount.IsNone)
            {
                rootCount.Value = _scene.rootCount;
            }

                        #if !UNITY_5_3_0 && !UNITY_5_3_1
            if (!rootGameObjects.IsNone)
            {
                if (_scene.IsValid())
                {
                    rootGameObjects.Values = _scene.GetRootGameObjects();
                }
                else
                {
                    rootGameObjects.Resize(0);
                }
            }
                        #endif

            Fsm.Event(sceneFoundEvent);
        }
        void DoGetSceneProperties()
        {
            _scene = SendSceneLoadedEvent.lastLoadedScene;

            if (!name.IsNone)
            {
                loadedMode.Value = SendSceneLoadedEvent.lastLoadedMode;
            }

            if (!name.IsNone)
            {
                name.Value = _scene.name;
            }

            if (!buildIndex.IsNone)
            {
                buildIndex.Value = _scene.buildIndex;
            }

            if (!path.IsNone)
            {
                path.Value = _scene.path;
            }

            if (!isValid.IsNone)
            {
                isValid.Value = _scene.IsValid();
            }

            if (!isDirty.IsNone)
            {
                isDirty.Value = _scene.isDirty;
            }

            if (!isLoaded.IsNone)
            {
                isLoaded.Value = _scene.isLoaded;
            }

            if (!rootCount.IsNone)
            {
                rootCount.Value = _scene.rootCount;
            }

            if (!rootGameObjects.IsNone)
            {
                if (_scene.IsValid())
                {
                    rootGameObjects.Values = _scene.GetRootGameObjects();
                }
                else
                {
                    rootGameObjects.Resize(0);
                }
            }
        }
Exemplo n.º 20
0
        public void OnMatchList(ListMatchResponse response)
        {
            var matchList = response.matches;
#endif
            results.Resize(matchList.Count);
            for (int i = 0; i < matchList.Count; i++)
            {
                results.Set(i, new MatchInfoObject(matchList[i]));
            }
        }
Exemplo n.º 21
0
        void DoCalculatePath()
        {
            GameObject _sourceGameObject = Fsm.GetOwnerDefaultTarget(sourceGameObject);

            if (_sourceGameObject == null)
            {
                return;
            }
            GameObject _targetGameObject = targetGameObject.Value;

            if (_targetGameObject == null)
            {
                return;
            }

            _getNavMeshPathProxy();

            UnityEngine.AI.NavMeshPath _path = new UnityEngine.AI.NavMeshPath();

            bool _found = UnityEngine.AI.NavMesh.CalculatePath(_sourceGameObject.transform.position, _targetGameObject.transform.position, passableMask.Value, _path);

            if (_NavMeshPathProxy != null)
            {
                _NavMeshPathProxy.path = _path;
            }

            if (!calculatedPathCorners.IsNone)
            {
                calculatedPathCorners.Resize(_path.corners.Length);
                for (int i = 0; i < calculatedPathCorners.Length; i++)
                {
                    calculatedPathCorners.Set(i, _path.corners [i]);
                }

                calculatedPathCorners.SaveChanges();
            }

            resultingPathFound.Value = _found;

            if (_found)
            {
                if (!FsmEvent.IsNullOrEmpty(resultingPathFoundEvent))
                {
                    Fsm.Event(resultingPathFoundEvent);
                }
            }
            else
            {
                if (!FsmEvent.IsNullOrEmpty(resultingPathNotFoundEvent))
                {
                    Fsm.Event(resultingPathNotFoundEvent);
                }
            }
        }
Exemplo n.º 22
0
        public override void OnEnter()
        {
            SteamApps.GetInstalledDepots((AppId_t)Convert.ToUInt32(appID.Value), depots, (uint)maxDepots.Value);

            for (int i = 0; i < depots.Length; i++)
            {
                depotIds.Resize(depotIds.Length + 1);
                depotIds.Set(depotIds.Length - 1, Convert.ToInt32(depots[i]));
            }

            Finish();
        }
        public static void Add <T>(this FsmArray array, T entry)
        {
            if (array == null)
            {
                return;
            }

            array.SetType(entry.GetVariableType());

            if (entry != null)
            {
                array.Resize(array.Length + 1);
                array.Set(array.Length - 1, (object)entry);
            }
            else
            {
                array.Resize(0);
            }

            array.SaveChanges();
        }
Exemplo n.º 24
0
        public override void OnEnter()
        {
            Random.InitState(seed.Value);

            for (int i = 0; i < maxindex.Value; i++)
            {
                arrayResult.Resize(arrayResult.Length + 1);
                vector3Result.Value = new Vector3(Random.Range(min.Value, max.Value), Random.Range(min.Value, max.Value), Random.Range(min.Value, max.Value));
                arrayResult.Set(arrayResult.Length - 1, vector3Result.Value);

                Finish();
            }
        }
Exemplo n.º 25
0
 public override void OnEnter()
 {
     if (newSize.Value >= 0)
     {
         array.Resize(newSize.Value);
     }
     else
     {
         LogError("Size out of range: " + newSize.Value);
         base.Fsm.Event(sizeOutOfRangeEvent);
     }
     Finish();
 }
        void DoGetCsvColumn()
        {
            CsvData _data = CsvData.GetReference(reference.Value);

            if (_data == null)
            {
                Fsm.Event(errorEvent);
                fields.Resize(0);
                return;
            }


            if (!_data.HasHeader)
            {
                LogError("Csv Data '" + reference.Value + "' has no header");
                Fsm.Event(errorEvent);
                fields.Resize(0);
                return;
            }

            int _column = _data.HeaderKeys.IndexOf(key.Value);

            if (_data.ColumnCount <= _column)
            {
                LogError("Csv Data '" + reference.Value + "' doesn't have " + (_column + 1) + " columns based on key " + key.Value + ", only " + _data.ColumnCount);
                Fsm.Event(errorEvent);
                fields.Resize(0);
                return;
            }

            fields.Resize(_data.RecordCount);
            for (int i = 0; i < _data.RecordCount; i++)
            {
                fields.Set(i, _data.GetFieldAt(i, _column, false));
            }

            fields.SaveChanges();
        }
Exemplo n.º 27
0
        void DoGetCsvHeader()
        {
            CsvData _data = CsvData.GetReference(reference.Value);

            if (_data == null)
            {
                Fsm.Event(errorEvent);
                header.Resize(0);
                return;
            }

            if (!_data.HasHeader)
            {
                LogError("Csv Data '" + reference.Value + "' has no header");
                Fsm.Event(errorEvent);
                header.Resize(0);
                return;
            }


            header.stringValues = _data.HeaderKeys.ToArray();
            header.SaveChanges();
        }
Exemplo n.º 28
0
 public override void OnUpdate()
 {
     if (cloud != null && cloud.isDone)
     {
         var downloadedFilenames = cloud.filenames;
         filenames.Resize(cloud.filenames.Length);
         for (int i = 0; i < downloadedFilenames.Length; i++)
         {
             filenames.Set(i, downloadedFilenames [i]);
         }
         filenames.SaveChanges();
     }
     base.OnUpdate();
 }
Exemplo n.º 29
0
        private void DoAddRange()
        {
            int count = variables.Length;

            if (count > 0)
            {
                array.Resize(array.Length + count);

                foreach (FsmVar _var in variables)
                {
                    array.Set(array.Length - count, _var.GetValue());
                    count--;
                }
            }
        }
        void _CallOnChannelList(TNet.List <Channel.Info> chList)
        {
            for (int x = 0; x < chList.size; x++)
            {
                int Players   = chList[x].players;
                int ChannelID = chList[x].id;

                string value = (ChannelID.ToString() + "," + Players.ToString());
                valuestring = value;

                storeValue.Resize(storeValue.Length + 1);
                storeValue.Set(storeValue.Length - 1, valuestring.Value);

                Finish();
            }
        }
Exemplo n.º 31
0
        public override void OnEnter()
        {
            int length = array.Length;

            array.Reset();
            array.Resize(length);
            if (!resetValue.IsNone)
            {
                resetValue.UpdateValue();
                object value = resetValue.GetValue();
                for (int i = 0; i < length; i++)
                {
                    array.Set(i, value);
                }
            }
            Finish();
        }