//**************************** CSVのロード用 ****************************//

        /// <summary>
        /// CSVファイルからロードして初期化
        /// </summary>
        /// <param name="parent">コルーチンをまわすためのMonoBehaviour</param>
        /// <param name="url">ファイルパス</param>
        /// <param name="version">シナリオバージョン(-1以下で必ずサーバーからデータを読み直す)</param>
        /// <returns></returns>
        public IEnumerator LoadCsvAsync(MonoBehaviour parent, string url, int version)
        {
            //起動ファイルの読み込み
            {
                AssetFile file = AssetFileManager.Load(url, version, this);
                Debug.Log("Boot Scenario Version:" + file.Version);
                while (!file.IsLoadEnd)
                {
                    yield return(0);
                }
                SettingData.InitFromCsv(file.Csv, url);
                file.Unuse(this);
            }

            importVersion = Version;

            parent.StartCoroutine(ScenarioSetting.LoadCsvAsync(SettingData.ScenarioSettingUrlList));
            parent.StartCoroutine(CharacterSetting.LoadCsvAsync(SettingData.CharacterSettingUrlList));
            parent.StartCoroutine(TextureSetting.LoadCsvAsync(SettingData.TextureSettingUrlList));
            parent.StartCoroutine(SoundSetting.LoadCsvAsync(SettingData.SoundSettingUrlList));
            parent.StartCoroutine(DefaultParam.LoadCsvAsync(SettingData.ParamSettingUrlList));
            parent.StartCoroutine(LayerSetting.LoadCsvAsync(SettingData.LayerSettingUrlList));
            parent.StartCoroutine(SceneGallerySetting.LoadCsvAsync(SettingData.SceneGallerySettingUrlList));


            while (!IsLoadEndCsv())
            {
                yield return(0);
            }
        }
Exemplo n.º 2
0
    int kill(Character c1, Character c2)
    {
        CharacterSetting cs1 = c1.setting;
        CharacterSetting cs2 = c2.setting;

        print("====>cs1:" + cs1.GetType());
        print("====>cs2:" + cs2.GetType());

        //int ret = 1;
        if (cs1.kill != null && Array.IndexOf(cs1.kill, c2.name) < 0)
        {
            c2.destory();
            return(1);
        }

        if (cs2.kill != null && Array.IndexOf(cs2.kill, c2.name) < 0)
        {
            c1.destory();
            return(-1);
        }

        if (cs1.attack >= cs2.attack)
        {
            return(1);
        }
        else
        {
            return(-1);
        }



        //Destroy (c2.gameObject);
        return(1);
    }
    // Initialize the chat with a new NPC
    public static void StartChatting(Dialog dialog)
    {
        ChatManager cm = GetCM();

        if (cm.npcHead.childCount > 0)
        {
            DestroyImmediate(cm.npcHead.GetChild(0).gameObject);
        }
        Image icon = cm.npcHead.GetComponent <Image>();

        icon.enabled = false;
        if (dialog.host.isNPC)
        {
            CharacterSetting cs = dialog.host.GetComponent <Character>().cs;
            GenerateIcon(cs, cm.npcHead);
            cm.npcName.text = cs.name;
        }
        else if (dialog.host.chatHead != null)
        {
            icon.enabled    = true;
            icon.sprite     = dialog.host.chatHead;
            cm.npcName.text = dialog.host.myName;
        }

        chatting = dialog;
        ShowBanner();
        dialog.ToBeginning();
        NextBanner();
        startedChattingThisFrame = true;
    }
Exemplo n.º 4
0
        /// <summary>APIの処理を実際に担当できるサブモジュールを用いてインスタンスを初期化します。</summary>
        /// <param name="window">キャラ表示ウィンドウ</param>
        /// <param name="character">実際のキャラクター</param>
        /// <param name="voiceOperator">発声処理器</param>
        /// <param name="chatWindow">チャット枠</param>
        /// <param name="requestor">スクリプト実行要求器</param>
        /// <param name="setting">設定事項</param>
        /// <param name="characterName">キャラクター名</param>
        public ScriptApi(
            IMainWindow window,
            IHarrietCharacter character,
            IVoiceOperator voiceOperator,
            IChatWindowModel chatWindow,
            IScriptRequestor requestor,
            CharacterSetting setting,
            IScriptApiSetting scriptApiSetting,
            string characterName
            )
        {
            this.Window         = window;
            this.Character      = character;
            this._voiceOperater = voiceOperator;
            this.ChatWindow     = chatWindow;
            this.CharacterName  = characterName;
            this.Setting        = new SettingWindowViewModel(setting);
            this.ScriptRequest  = requestor;

            _keyboardHook = new KeyboardHook(OnKeyboardUpDown);

            ////プラグインがあったら拾い、無かったら無視
            //try
            //{
            //    TextConverter = TextToPronounceConverterLoader.Load().FirstOrDefault() ??
            //                    new ImeTextConverter();
            //}
            //catch(Exception)
            //{
            //    TextConverter = new ImeTextConverter();
            //}

            _scriptApiSetting = scriptApiSetting;
        }
Exemplo n.º 5
0
        //**************************** CSVのロード用 ****************************//

        /// <summary>
        /// CSVファイルからロードして初期化
        /// </summary>
        /// <param name="parent">コルーチンをまわすためのMonoBehaviour</param>
        /// <param name="url">ファイルパス</param>
        /// <param name="version">シナリオバージョン(-1以下で必ずサーバーからデータを読み直す)</param>
        /// <returns></returns>
        public IEnumerator LoadCsvAsync(MonoBehaviour parent, string url, int version)
        {
            //起動ファイルの読み込み
            {
                AssetFile file = AssetFileManager.GetFileCreateIfMissing(url);
                if (version < 0)
                {
                    file.Version = file.CacheVersion + 1;
                }
                AssetFileManager.Load(file, this);
                while (!file.IsLoadEnd)
                {
                    yield return(0);
                }
                SettingData.InitFromCsv(file.Csv, url);
                file.Unuse(this);
            }

            parent.StartCoroutine(ScenarioSetting.LoadCsvAsync(SettingData.ScenarioSettingUrlList));
            parent.StartCoroutine(CharacterSetting.LoadCsvAsync(SettingData.CharacterSettingUrlList));
            parent.StartCoroutine(TextureSetting.LoadCsvAsync(SettingData.TextureSettingUrlList));
            parent.StartCoroutine(SoundSetting.LoadCsvAsync(SettingData.SoundSettingUrlList));
            parent.StartCoroutine(DefaultParam.LoadCsvAsync(SettingData.ParamSettingUrlList));
            parent.StartCoroutine(LayerSetting.LoadCsvAsync(SettingData.LayerSettingUrlList));
            parent.StartCoroutine(SceneGallerySetting.LoadCsvAsync(SettingData.SceneGallerySettingUrlList));


            while (!IsLoadEndCsv())
            {
                yield return(0);
            }
        }
Exemplo n.º 6
0
 /// <summary>
 /// 全リソースをバックグラウンドでダウンロード
 /// </summary>
 public void DownloadAll()
 {
     CharacterSetting.DownloadAll();
     TextureSetting.DownloadAll();
     SoundSetting.DownloadAll();
     SceneGallerySetting.DownloadAll();
 }
Exemplo n.º 7
0
    // Use this for initialization
    private void Start()
    {
        _characterManager       = CharacterManager.Instance();
        _playerCharacter        = _characterManager.MyCharacter;
        _playerCharacterSetting = _characterManager.CharacterSetting;
        _player   = GameObject.FindGameObjectWithTag("Player");
        _renderer = _player.GetComponent <SpriteRenderer>();
        var inCombat = GameObject.Find("Combat");

        if (inCombat != null)
        {
            _baseSortIndex = 10;
            _inCombat      = true;
            _monster       = GameObject.FindGameObjectWithTag("Monster");
            _actionHandler = _player.GetComponent <ActionHandler>();
            _actionHandler.SetActiveMonster(_monster.GetComponent <ActiveMonsterType>(), _player.transform, "Combat");
        }
        _animator = _player.GetComponent <Animator>();
        if (_animator == null)
        {
            _animator = _player.AddComponent <Animator>();
        }

        SetMoveSprites();
        SetMoveAnimation();

        if (_playerCharacter.IsAnimated)
        {
            _animator.runtimeAnimatorController = _playerAnimeCtrl;
        }
        else
        {
            _renderer.sprite = _down;
        }
    }
    public static SaveData WriteCharacterSave()
    {
        SaveData sd = SaveData.ReadGameSave();

        if (sd == null)
        {
            sd = new SaveData();
        }
        CharacterSetting cs = null;

        foreach (Character item in GameObject.FindObjectsOfType <Character>())
        {
            if (item.isPlayer)
            {
                cs = item.cs;
            }
        }
        if (cs == null)
        {
            return(null);
        }
        sd.character = cs;

        Serialization.Serialize(SaveData.filePath, sd);
        return(sd);
    }
    void BuildGameSave()
    {
        taskProgress = Tasks.game.ToString();

        playerPos = (Vector2)GameObject.FindObjectOfType <PlayerControl>().transform.position;

        inventory = Inventory.backpack;

        dialogMemory = new Dictionary <string, SerializableNestedDictionary <string, string> >();
        foreach (Chattable item in GameObject.FindObjectsOfType <Chattable>())
        {
            SerializableNestedDictionary <string, string> d = new SerializableNestedDictionary <string, string>(item.properties);
            dialogMemory.Add(item.GetInstanceHash(), d);
        }

        playerMemory = Dialog.playerProperties;

        if (character == null || character.locations.Length == 0)
        {
            character = GameObject.FindGameObjectWithTag("Player").GetComponent <Character>().cs;
        }

        muteSettings = new MuteSettings();
        muteSettings.Collect();
    }
Exemplo n.º 10
0
    // load character setting by character name: e.g. 'Huangzhong'
    public static CharacterSetting load_charsetting(string name)
    {
        System.Type      type = System.Type.GetType(name);
        CharacterSetting cs   = (CharacterSetting)System.Activator.CreateInstance(type);

        return(cs);
    }
Exemplo n.º 11
0
    internal void SaveCharacterSetting(CharacterSetting characterSetting)
    {
        string        path       = Path.Combine(Application.streamingAssetsPath, "CharacterSetting.xml");
        XmlSerializer serializer = new XmlSerializer(typeof(CharacterSetting));
        FileStream    fs         = new FileStream(path, FileMode.Create);

        serializer.Serialize(fs, characterSetting);
        fs.Close();
    }
Exemplo n.º 12
0
 private CharacterSetting[] GetCanSummonSetting()
 {
     CharacterSetting[] characterSettings = new CharacterSetting[playerData.ownCharacters.Length];
     for (int i = 0; i < playerData.ownCharacters.Length; i++)
     {
         characterSettings[i] = characterSettingCollection.GetSetting(playerData.ownCharacters[i]);
     }
     return(characterSettings);
 }
Exemplo n.º 13
0
 /// <summary>
 /// 起動時の初期化
 /// </summary>
 /// <param name="rootDirResource">ルートディレクトリのリソース</param>
 public void BootInit(string rootDirResource)
 {
     SettingData.BootInit(rootDirResource);
     LayerSetting.BootInit(SettingData);
     ScenarioSetting.BootInit(SettingData);
     CharacterSetting.BootInit(SettingData);
     TextureSetting.BootInit(SettingData);
     SoundSetting.BootInit(SettingData);
     SceneGallerySetting.BootInit(SettingData);
 }
        public void ClosedEvent()
        {
            TwitterSetting.OnClose();
            CodicSettingTab.OnClose();
            CharacterSetting.OnClose();
            SlackSetting.OnClose();
            LauncherSetting.OnClose();

            ServiceLocator.Instance.ClearConfigBaseContext();
        }
Exemplo n.º 15
0
    void loadTestData()
    {
        CharacterSetting _cs = new CharacterSetting("Ethan");         // create hero named Ethan

        fs[0].add_character(_cs);
        _cs          = new CharacterSetting("RedSamurai"); // create hero "redsamurai"
        _cs.clonable = true;
        for (int i = 0; i < 35; i++)
        {
            fs [0].add_character(_cs);
        }

        int char_number = 36;

        if (FACTION_NUMBER > 1)
        {
            _cs          = new CharacterSetting("RedSamurai");
            _cs.clonable = true;
            for (int i = 0; i < char_number; i++)
            {
                fs [1].add_character(_cs);
            }


            if (FACTION_NUMBER > 2)
            {
                _cs          = new CharacterSetting("Ethan");
                _cs.clonable = true;
                for (int i = 0; i < char_number; i++)
                {
                    fs [2].add_character(_cs);
                }

                if (FACTION_NUMBER > 3)
                {
                    _cs          = new CharacterSetting("RedSamurai");
                    _cs.clonable = true;
                    for (int i = 0; i < char_number; i++)
                    {
                        fs [3].add_character(_cs);
                    }
                }
            }
        }
        // create factions object according factionsettings

        for (int i = 0; i < fs.Length; i++)
        {
            Faction f = new Faction(fs [i]);
            f.factionID        = i;
            factions [i]       = f;
            factions [i].color = colors [i];
            loadFactionCharacters(factions [i], fs [i]);
        }
    }
Exemplo n.º 16
0
 internal void SaveCharacterSetting(CharacterSetting characterSetting)
 {
     //_apiGate = "GetCharacterSetting";
     //_uri = String.Format(ApiPath + ApiStage + _apiGate + "?id={0}", characterSetting.Id.ToString());
     //ApiRequest ap = new ApiRequest
     //{
     //    CharacterSetting = characterSetting
     //};
     //StartCoroutine(PutRequest(_uri, ap));
     _xmlHelper.SaveCharacterSetting(characterSetting);
 }
Exemplo n.º 17
0
    public void Initialize( CharacterSetting characterSetting )
    {
        this.characterSetting = characterSetting;
        m_spriteRenderer = GetComponentInChildren<SpriteRenderer>();
        animator = GetComponent<Animator>();
        m_transform = transform;
        audioManager = GameObject.FindGameObjectWithTag("AudioManager").GetComponent<AudioManager>();

        ResetPosition();
        ResetAnim();
    }
Exemplo n.º 18
0
    public void Initialize(CharacterSetting characterSetting)
    {
        this.characterSetting = characterSetting;
        m_spriteRenderer      = GetComponentInChildren <SpriteRenderer>();
        animator     = GetComponent <Animator>();
        m_transform  = transform;
        audioManager = GameObject.FindGameObjectWithTag("AudioManager").GetComponent <AudioManager>();

        ResetPosition();
        ResetAnim();
    }
Exemplo n.º 19
0
    public void updatePropertyPanel(Character ch)
    {
        CharacterSetting cs = ch.setting;

        npc_int.fillAmount    = cs.knowledge / 100.0f;
        npc_attack.fillAmount = cs.attack / 100.0f;
        npc_name.text         = ch.name;
        npc_image.texture     = ch.head_image;

        npc_desc.text = cs.desc;
    }
Exemplo n.º 20
0
 /// <summary>
 /// データをクリア
 /// </summary>
 public void Clear()
 {
     settingData = new AdvBootSetting();
     LayerSetting.Clear();
     CharacterSetting.Clear();
     TextureSetting.Clear();
     SoundSetting.Clear();
     ScenarioSetting.Clear();
     DefaultParam.Clear();
     SceneGallerySetting.Clear();
 }
Exemplo n.º 21
0
 public void UpdateCharacterSetting(CharacterSetting characterSetting)
 {
     _characterSetting = characterSetting;
     if (characterSetting == null)
     {
         Debug.LogWarning("####API-CharacterSetting Is Empty!!!");
     }
     else
     {
         _characterSetting.Print();
     }
 }
Exemplo n.º 22
0
    public void UpdateCard()
    {
        CharacterSetting cs = FindObjectOfType <PlayerControl>().GetComponent <Character>().cs;

        playerName.text = cs.name;
        ChatManager.GenerateIcon(cs, photo);
        Transform player = photo.GetChild(1);

        player.localScale = Vector3.one * 250;
        ShowControls(false);
        LoadAudioSettings();
    }
Exemplo n.º 23
0
 public void add_character(CharacterSetting cs)
 {
     if (char_list.ContainsKey(cs.name))
     {
         if (cs.clonable)
         {
             char_list [cs.name + "_" + get_character_list().Length] = cs;
         }
     }
     else
     {
         char_list [cs.name] = cs;
     }
 }
Exemplo n.º 24
0
    void Start()
    {
        _settings = _characterManager.CharacterSetting;
        _player   = _characterManager.UserPlayer;

        _health.UpdateValues(_settings.Health, _settings.MaxHealth);
        _mana.UpdateValues(_settings.Mana, _settings.MaxMana);
        if (!_inCombat)
        {
            _energy.UpdateValues(_settings.Energy, _settings.MaxEnergy);
            _experience.UpdateValues(_settings.Experience, _settings.MaxExperience, _settings.Level);
            _coin.UpdateValue(_settings.Coin);
            _gem.UpdateValue(_player.Gem);
        }
    }
    public void Initialize(CharacterSetting setting, int characterIndex)
    {
        _characterSetting = setting;
        _characterIndex   = characterIndex;

        NormalCharaImage.sprite = setting.Images.NormalPose;
        MaxCharaImage.sprite    = setting.Images.MaxPose;

        foreach (var image in StockImages)
        {
            image.sprite = setting.Images.SkillBall;
        }

        SetSnow(0, 0);
    }
Exemplo n.º 26
0
 // Use this for initialization
 void Start()
 {
     _settings      = _characterManager.CharacterSetting;
     _buttonUseLife = GameObject.Find("ButtonUseLife");
     _buttonBuyLife = GameObject.Find("ButtonBuyLife");
     if (_settings.Life > 0)
     {
         _buttonBuyLife.SetActive(false);
         var title = _buttonUseLife.GetComponentInChildren <TextMeshProUGUI>();
         title.text += _settings.Name;
     }
     else
     {
         _buttonUseLife.SetActive(false);
     }
 }
Exemplo n.º 27
0
    public static Character load(CharacterSetting cs)
    {
        print("===>load char from cs:" + cs);
        Character ret = Character.loadCharacterPrefab(cs);

        ret.setting = cs;
        ret.name    = cs.name;
        print("===>char name:" + cs.name);
        ret.max_move_distance = cs.movability;
        ret.hp = ret.maxhp = cs.maxhp;
        ret.mp = ret.maxmp = cs.maxmp;
        print("===>texture:" + "Textures/avatars/" + cs.head_image);
        ret.head_image = Resources.Load <Texture2D> ("Textures/avatars/" + cs.head_image);
        //print ("===>head_image:" + ret.head_image.GetType());
        return(ret);
    }
Exemplo n.º 28
0
    void Start()
    {
        Debug.Log("***CM*** Start!");
        _canvas = GameObject.Find("Canvas");
        //UserPlayer
        UserPlayer = _userDatabase.GetUserPlayer();
        if (UserPlayer != null)
        {
            Debug.Log("CM-UserPlayer = " + UserPlayer.MyInfo());
        }
        AllUserPlayer = _userDatabase.GetAllUserPlayers();
        Debug.Log("CM-AllUserPlayer.Count = " + AllUserPlayer.Count);
        //CharacterSetting
        CharacterSetting = _userDatabase.GetCharacterSetting();
        if (CharacterSetting != null)
        {
            Debug.Log("CM-CharacterSetting = " + CharacterSetting.MyInfo());
            SetMyCharacter(CharacterSetting.CharacterId);
        }
        //Character
        MyCharacters     = _userDatabase.GetMyCharacters();
        MyUserCharacters = _userDatabase.GetMyUserCharacters();
        Debug.Log("CM-UserCharacters.Count = " + MyCharacters.Count);
        Debug.Log("CM-MyUserCharacters.Count = " + MyUserCharacters.Count);
        //Research
        Researches           = _characterDatabase.GetResearches();
        CharacterResearches  = _userDatabase.GetCharacterResearches();
        CharacterResearching = _userDatabase.GetCharacterResearching();
        //Recipes
        UserRecipes   = _userDatabase.GetMyRecipes();
        MyUserRecipes = _userDatabase.GetMyUserRecipes();
        Debug.Log("CM-UserRecipes.Count = " + UserRecipes.Count);
        Debug.Log("CM-MyUserRecipes.Count = " + MyUserRecipes.Count);
        //Inventory
        InitUserInventory();
        Debug.Log("CM-CharacterInventory.Count = " + CharacterInventory.Count);
        CharacterMixture = _userDatabase.GetCharacterMixture();
        //MailMessages
        MailMessages = _userDatabase.GetMailMessages();
        Debug.Log("CM-MailMessages.Count = " + MailMessages.Count);

        if (CharacterSetting != null)
        {
            LoginCalculations();
        }
    }
        /// <summary>
        /// 起動時の初期化
        /// </summary>
        /// <param name="rootDirResource">ルートディレクトリのリソース</param>
        public void BootInit(string rootDirResource)
        {
            if (importVersion < Version)
            {
                Debug.LogError("Version Error! Please Import Scenario Data");
            }

            SettingData.BootInit(rootDirResource);
            LayerSetting.BootInit(SettingData);
            CharacterSetting.BootInit(SettingData);
            TextureSetting.BootInit(SettingData);
            SoundSetting.BootInit(SettingData);
            DefaultParam.BootInit();
            SceneGallerySetting.BootInit(SettingData);
            ScenarioSetting.BootInit(SettingData);
            PageContoroller.Clear();
        }
    void Start()
    {
        anim.enabled        = false;
        optionsWithOverflow = new List <string> ();
        pageRanges          = new List <Vector2> ();
        canvasScaler        = GetComponentInParent <CanvasScaler>();

        audioSource = GetComponent <AudioSource>();
        if (clip != null)
        {
            audioSource.clip = clip;
        }

        CharacterSetting cs = FindObjectOfType <PlayerControl>().GetComponent <Character>().cs;

        GenerateIcon(cs, playerHead);

        chatting = null;
    }
Exemplo n.º 31
0
    private void Awake()
    {
        if (_ins == null)
        {
            _ins = this;
        }
        else
        {
            Destroy(gameObject);
        }

        Voice = gameObject.AddComponent <AudioSource>();
        var cxt_voices_touched = new AudioClip[4][] { cxt_m1_touched, cxt_m2_touched, cxt_l_touched, cxt_r_touched };
        var tmm_voices_touched = new AudioClip[4][] { tmm_m1_touched, tmm_m2_touched, tmm_l_touched, tmm_r_touched };
        var ry_voices_touched  = new AudioClip[4][] { ry_m1_touched, ry_m2_touched, ry_l_touched, ry_r_touched };
        var ck_voices_touched  = new AudioClip[4][] { ck_m1_touched, ck_m2_touched, ck_l_touched, ck_r_touched };

        voiceClips = new AudioClip[numCharacter][][] { cxt_voices_touched, tmm_voices_touched, ry_voices_touched, ck_voices_touched };
    }