コード例 #1
0
    public IEnumerator LoadCharacterParam(string characterId, int index, Action <CharacterParams, int, string> result)
    {
        BattleDebug.Log(string.Concat(new object[]
        {
            "--- モンスター単体ロード characterId[",
            characterId,
            "] index[",
            index,
            "] : 開始"
        }));
        GameObject prefab    = base.stateManager.serverControl.GetCharacterPrefab(characterId);
        GameObject character = base.Instantiate <GameObject>(prefab);

        yield return(null);

        character.name = characterId;
        character.transform.SetParent(base.battleStateData.characterRoot);
        character.transform.position = Vector3.zero;
        character.transform.rotation = Quaternion.identity;
        CharacterParams characterParams = character.GetComponent <CharacterParams>();
        CapsuleCollider col             = characterParams.GetComponent <CapsuleCollider>();

        col.radius = 1.03f;
        if (base.battleStateData.useCharacterShadow)
        {
            characterParams.SetShadowObject();
            yield return(null);
        }
        characterParams.PlayAnimation(CharacterAnimationType.idle, SkillType.Attack, 0, null, null);
        yield return(null);

        characterParams.Initialize(base.hierarchyData.cameraObject.camera3D);
        GameObject      hasColliderObject = characterParams.collider.gameObject;
        BattleStateData battleStateData   = base.battleStateData;

        battleStateData.characterColliderLayerMask |= 1 << hasColliderObject.layer;
        character.gameObject.SetActive(false);
        result(characterParams, index, characterId);
        BattleDebug.Log(string.Concat(new object[]
        {
            "--- モンスター単体ロード characterId[",
            characterId,
            "] index[",
            index,
            "] : 完了"
        }));
        yield break;
    }