Beispiel #1
0
        private void SpawnCharacter(LocalWorker companyWorker)
        {
            if (SpawnPoints != null && SpawnPoints.Length > 0)
            {
                int        randomIndex     = Random.Range(0, SpawnPoints.Length);
                Transform  randomTransform = SpawnPoints[randomIndex];
                Vector2    spawnPos        = randomTransform.position;
                GameObject newCharacter    = null;

                if (null != CharactersPool)
                {
                    newCharacter = CharactersPool.GetObject();
                }

                if (null == newCharacter)
                {
                    newCharacter = GameObject.Instantiate(CharacterPrefab, spawnPos, Quaternion.identity);
                }

                newCharacter.gameObject.SetActive(true);
                CharacterText textComponent = newCharacter.GetComponentInChildren <CharacterText>();
                textComponent.Text              = string.Format("{0} {1}", companyWorker.Name, companyWorker.Surename);
                companyWorker.AbsenceStarted   += OnWorkerAbsenceStarted;
                companyWorker.AbsenceFinished  += OnWorkerAbsenceFinished;
                companyWorker.PhysicalCharacter = newCharacter;
                SpawnedCharacters.Add(companyWorker);
            }
#if DEVELOPMENT_BUILD || UNITY_EDITOR
            else
            {
                string debugInfo =
                    string.Format("[{0}] Failed to spawn character in game world (no spawn points defined)",
                                  this.GetType().Name,
                                  MAX_SPAWN_RETRIES);
                Debug.Log(debugInfo);
            }
#endif
        }
Beispiel #2
0
 public IEnumerator DisplayCharacterText(CharacterText character)
 {
     // TODO: Bleg, hehe
     yield return(null);
 }
Beispiel #3
0
    static void OnPostprocessAllAssets(string[] importedAssets, string[] deletedAssets, string[] movedAssets, string[] movedFromAssetPaths)
    {
        foreach (string str in importedAssets)
        {
            if (str.IndexOf("/character.csv") != -1)
            {
                TextAsset     data      = AssetDatabase.LoadAssetAtPath <TextAsset>(str);
                string        assetfile = str.Replace(".csv", ".asset");
                CharacterText gm        = AssetDatabase.LoadAssetAtPath <CharacterText>(assetfile);
                if (gm == null)
                {
                    gm = new CharacterText();
                    AssetDatabase.CreateAsset(gm, assetfile);
                }

                gm.characters = CSVSerializer.Deserialize <CharacterText.Character>(data.text);

                EditorUtility.SetDirty(gm);
                AssetDatabase.SaveAssets();
#if DEBUG_LOG || UNITY_EDITOR
                Debug.Log("Reimported Asset: " + str);
#endif
            }
            if (Regex.IsMatch(str, "L[0-9a-zA-Z]*[.]csv$"))
            {
                TextAsset       data      = AssetDatabase.LoadAssetAtPath <TextAsset>(str);
                string          assetfile = str.Replace(".csv", ".asset");
                LocalizableData gm        = AssetDatabase.LoadAssetAtPath <LocalizableData>(assetfile);
                if (gm == null)
                {
                    gm = new LocalizableData();
                    AssetDatabase.CreateAsset(gm, assetfile);
                }

                gm.datas = CSVSerializer.Deserialize <LocalizableData.Data>(data.text);

                EditorUtility.SetDirty(gm);
                AssetDatabase.SaveAssets();
#if DEBUG_LOG || UNITY_EDITOR
                Debug.Log("Reimported Asset: " + str);
#endif
            }

            if (str.IndexOf("/CardData.csv") != -1)
            {
                TextAsset data      = AssetDatabase.LoadAssetAtPath <TextAsset>(str);
                string    assetfile = str.Replace(".csv", ".asset");
                CardData  gm        = AssetDatabase.LoadAssetAtPath <CardData>(assetfile);
                if (gm == null)
                {
                    gm = new CardData();
                    AssetDatabase.CreateAsset(gm, assetfile);
                }

                gm.Cards = CSVSerializer.Deserialize <CardData.Data>(data.text);
                var tempList = new List <CardSource>();

                foreach (var card in gm.Cards)
                {
                    var cardSource = CheckAndGetCard(card);
                    ApplyData(card, cardSource);
                    tempList.Add(cardSource);
                }

                foreach (var card in gm.Cards)
                {
                    ApplyUpgradeList(card, tempList[0]);
                    tempList.RemoveAt(0);
                }

                EditorUtility.SetDirty(gm);
                AssetDatabase.SaveAssets();
#if DEBUG_LOG || UNITY_EDITOR
                Debug.Log("Reimported Asset: " + str);
#endif
            }
        }
    }
 private void Awake()
 {
     _aiController = GetComponent <CharacterText>();
     _controller   = GetComponent <CharacterController2D>();
 }
Beispiel #5
0
    private void ToggleCharacterToLeft()
    {
//		if(Monk.activeInHierarchy){
//			Monk.SetActive(false);
//			Robo.SetActive(true);
//			CharacterText.GetComponent<SpriteRenderer>().sprite = (Sprite)Resources.Load ("RoboText", typeof(Sprite)) as Sprite;
//		}
//
//		else if(Wizard.activeInHierarchy){
//			Wizard.SetActive(false);
//			Monk.SetActive(true);
//			CharacterText.GetComponent<SpriteRenderer>().sprite = (Sprite)Resources.Load ("MonkText", typeof(Sprite)) as Sprite;
//		}
//
//		else if(Gentleman.activeInHierarchy){
//			Gentleman.SetActive(false);
//			Wizard.SetActive(true);
//			CharacterText.GetComponent<SpriteRenderer>().sprite = (Sprite)Resources.Load ("WizardText", typeof(Sprite)) as Sprite;
//		}
//
//		else if(Robo.activeInHierarchy){
//			Robo.SetActive(false);
//			Gentleman.SetActive(true);
//			CharacterText.GetComponent<SpriteRenderer>().sprite = (Sprite)Resources.Load ("GentlemanText", typeof(Sprite)) as Sprite;
//		}

        if (Player.gameObject.name.Equals("Player"))
        {
            Player.gameObject.SetActive(false);
            Robo.SetActive(true);
            Player = FindObjectOfType <PlayerAi> ();
            CharacterText.GetComponent <SpriteRenderer>().sprite = (Sprite)Resources.Load("RoboText", typeof(Sprite)) as Sprite;

            determineCharacterLockedStatus();
        }

        else if (Player.gameObject.name.Equals("SuperNinja"))
        {
            Player.gameObject.SetActive(false);
            Monk.SetActive(true);
            Player = FindObjectOfType <PlayerAi> ();
            CharacterText.GetComponent <SpriteRenderer>().sprite = (Sprite)Resources.Load("MonkText", typeof(Sprite)) as Sprite;

            CharacterLockedStatus.GetComponent <SpriteRenderer>().sprite = (Sprite)Resources.Load("BLANKButton", typeof(Sprite)) as Sprite;
            determineLowerGrassStatus();
        }

        else if (Player.gameObject.name.Equals("Punch"))
        {
            Player.gameObject.SetActive(false);
            Wizard.SetActive(true);
            Player = FindObjectOfType <PlayerAi> ();
            CharacterText.GetComponent <SpriteRenderer>().sprite = (Sprite)Resources.Load("WizardText", typeof(Sprite)) as Sprite;

            determineCharacterLockedStatus();
        }

        else if (Player.gameObject.name.Equals("Robo"))
        {
            Player.gameObject.SetActive(false);
            Gentleman.SetActive(true);
            Player = FindObjectOfType <PlayerAi> ();
            CharacterText.GetComponent <SpriteRenderer>().sprite = (Sprite)Resources.Load("GentlemanText", typeof(Sprite)) as Sprite;

            determineCharacterLockedStatus();
        }
    }
Beispiel #6
0
    //WIP
    private void HandleKeyboard()
    {
        if (Input.GetKeyDown(KeyCode.Alpha8))
        {
//			if(Monk.activeInHierarchy){
//				Monk.SetActive(false);
//				Wizard.SetActive(true);
//				CharacterText.GetComponent<SpriteRenderer>().sprite = (Sprite)Resources.Load ("WizardText", typeof(Sprite)) as Sprite;
//			}
//
//			else if(Wizard.activeInHierarchy){
//				Wizard.SetActive(false);
//				Gentleman.SetActive(true);
//				CharacterText.GetComponent<SpriteRenderer>().sprite = (Sprite)Resources.Load ("GentlemanText", typeof(Sprite)) as Sprite;
//			}
//
//			else if(Gentleman.activeInHierarchy){
//				Gentleman.SetActive(false);
//				Robo.SetActive(true);
//				CharacterText.GetComponent<SpriteRenderer>().sprite = (Sprite)Resources.Load ("RoboText", typeof(Sprite)) as Sprite;
//			}
//
//			else if(Robo.activeInHierarchy){
//				Robo.SetActive(false);
//				Monk.SetActive(true);
//				CharacterText.GetComponent<SpriteRenderer>().sprite = (Sprite)Resources.Load ("MonkText", typeof(Sprite)) as Sprite;
//			}


            //WIP

            if (Player.gameObject.name.Equals("Player"))
            {
                Player.gameObject.SetActive(false);
                Wizard.SetActive(true);
                Player = FindObjectOfType <PlayerAi> ();
                CharacterText.GetComponent <SpriteRenderer>().sprite = (Sprite)Resources.Load("WizardText", typeof(Sprite)) as Sprite;

                CharacterLockedStatus.GetComponent <SpriteRenderer>().sprite = (Sprite)Resources.Load("BLANKButton", typeof(Sprite)) as Sprite;

                determineCharacterLockedStatus();
            }

            else if (Player.gameObject.name.Equals("SuperNinja"))
            {
                Player.gameObject.SetActive(false);
                Gentleman.SetActive(true);
                Player = FindObjectOfType <PlayerAi> ();
                CharacterText.GetComponent <SpriteRenderer>().sprite = (Sprite)Resources.Load("GentlemanText", typeof(Sprite)) as Sprite;

                determineCharacterLockedStatus();
            }

            else if (Player.gameObject.name.Equals("Punch"))
            {
                Player.gameObject.SetActive(false);
                Robo.SetActive(true);
                Player = FindObjectOfType <PlayerAi> ();
                CharacterText.GetComponent <SpriteRenderer>().sprite = (Sprite)Resources.Load("RoboText", typeof(Sprite)) as Sprite;

                determineCharacterLockedStatus();
            }

            else if (Player.gameObject.name.Equals("Robo"))
            {
                Player.gameObject.SetActive(false);
                Monk.SetActive(true);
                Player = FindObjectOfType <PlayerAi> ();
                CharacterText.GetComponent <SpriteRenderer>().sprite = (Sprite)Resources.Load("MonkText", typeof(Sprite)) as Sprite;

                CharacterLockedStatus.GetComponent <SpriteRenderer>().sprite = (Sprite)Resources.Load("BLANKButton", typeof(Sprite)) as Sprite;
                determineLowerGrassStatus();
            }
        }

        else if (Input.GetKeyDown(KeyCode.Alpha1))
        {
            if (BGSoundObject.audio.clip.name.Equals("Wind"))
            {
                BGSoundObject.audio.clip = (AudioClip)Resources.Load("NightSound", typeof(AudioClip)) as AudioClip;
                BGSoundObject.audio.Play();

                determineThemeLockedStatus();
            }

            else if (BGSoundObject.audio.clip.name.Equals("NightSound"))
            {
                BGSoundObject.audio.clip = (AudioClip)Resources.Load("RainSound", typeof(AudioClip)) as AudioClip;
                BGSoundObject.audio.Play();

                determineThemeLockedStatus();
            }

            else if (BGSoundObject.audio.clip.name.Equals("RainSound"))
            {
                BGSoundObject.audio.clip = (AudioClip)Resources.Load("SpaceSound", typeof(AudioClip)) as AudioClip;
                BGSoundObject.audio.Play();

                determineThemeLockedStatus();
            }

            else if (BGSoundObject.audio.clip.name.Equals("SpaceSound"))
            {
                BGSoundObject.audio.clip = (AudioClip)Resources.Load("Wind", typeof(AudioClip)) as AudioClip;
                BGSoundObject.audio.Play();

                ThemeLockedStatus.GetComponent <SpriteRenderer>().sprite = (Sprite)Resources.Load("BLANKButton", typeof(Sprite)) as Sprite;
                determineLowerGrassStatus();
            }
        }

        else if (Input.GetKeyDown(KeyCode.J))
        {
            Application.LoadLevel(6);
        }
    }
Beispiel #7
0
    private void DoModifierAction(TextEffect mod, GameObject textChar)
    {
        switch (mod.type)
        {
        case TextEffect.TextEffectType.kLineBreak:
        {
            NewLine();
            textChar.GetComponent <RectTransform>().position = startPos;
            break;
        }

        case TextEffect.TextEffectType.kSpeed:
        {
            current_char_delay = float.Parse(mod.tag_data);
            break;
        }

        case TextEffect.TextEffectType.kShake:
        {
            Vector3     charPos = startPos + new Vector3(currentLineOffset, 0, 0);
            ShakeLetter shake   = textChar.GetComponent <ShakeLetter>();
            string[]    tags    = mod.tag_data.Split(",".ToCharArray());
            if (tags.Length > 1)
            {
                shake.shake_radius = float.Parse(tags[0]);
                shake.shake_speed  = float.Parse(tags[1]);
            }

            if (isActiveDialogue)
            {
                shake.StartShake(startPos, currentLineOffset);
            }
            else
            {
                shake.StartShake(charPos);
            }

            break;
        }

        case TextEffect.TextEffectType.kWiggle:
        {
            WiggleLetter  wiggle = textChar.GetComponent <WiggleLetter>();
            CharacterText carTex = textChar.GetComponent <CharacterText>();
            string[]      tags   = mod.tag_data.Split(",".ToCharArray());
            if (tags.Length > 1)
            {
                wiggle.wiggle_height = float.Parse(tags[0]);
                wiggle.wiggle_speed  = float.Parse(tags[1]);
            }
            wiggle.StartWiggle(isActiveDialogue);
            break;
        }

        case TextEffect.TextEffectType.kPause:
        {
            isPaused = true;
            if (mod.tag_data != null)
            {
                pause_time = float.Parse(mod.tag_data);
            }
            else
            {
                pause_time = default_pause_time;
            }
            break;
        }

        case TextEffect.TextEffectType.kWait:
        {
            //isWaiting = true;
            break;
        }
        }
    }