コード例 #1
0
 public void PopulateSaveData(SaveData saveData)
 {
     if (CompareTag("Player"))
     {
         saveData.PlayerPos = transform.position;
         SaveData.AcotrSave acotrSave = new SaveData.AcotrSave();
         acotrSave.uid = GetInstanceID();
         // acotrSave.ItemSaves = new List<SaveData.ItemSave>();
         // foreach (KeyValuePair<ItemEnum,CntAndPos> pair in inventory.inventory)
         // {
         //     SaveData.ItemSave itemSave = new SaveData.ItemSave();
         //     itemSave.itemID = (int)pair.Key;
         //     itemSave.count = pair.Value.m_count;
         //     acotrSave.ItemSaves.Add(itemSave);
         // }
         //saveData.AcotrSaves.Add(acotrSave);
     }
     else if (CompareTag("BornFire"))
     {
         BoneFire boneFire = GetComponent <BoneFire>();
         SaveData.InteractObject interactObject;
         interactObject.uid      = GetInstanceID();
         interactObject.activity = boneFire.lit;
         saveData.Reborn.Add(interactObject);
     }
 }
コード例 #2
0
 protected override void OnCantMove <T>(T component)
 {
     if (component.tag.Equals("Wall"))
     {
         Wall hitWall = component as Wall;
         hitWall.DamageWall(wallDamage);
         animator.SetTrigger("playerChop");
     }
     else if (component.tag.Equals("BoneFire"))
     {
         Debug.Log(component.tag);
         BoneFire boneFire = component as BoneFire;
         animator.SetTrigger("playerChop");
         SoundManager.instance.RandomizeSfx(eatSound1, eatSound2);
         Eat();
         //SceneManager.LoadScene("Combat",LoadSceneMode.Additive);
         //boneFire.CoockMeat(this);
     }
     else if (component.tag.Equals("Reproductor"))
     {
         Debug.Log(component.tag);
         Reproductor reproductor = component as Reproductor;
         animator.SetTrigger("playerChop");
         //SoundManager.instance.RandomizeSfx(epicSaxGuy);
         gameController = GameObject.Find("GameController");
         popupMessage   = gameController.GetComponent <PopupMessage>();
         popupMessage.Open(reproductor);
     }
 }
コード例 #3
0
    public void DoAction()
    {
        EventCasterManager ecm = GetFirstContactEventCaster();

        if (overlapEcastms.Count > 0)
        {
            if (!ecm.active)
            {
                return;
            }
            //if(!BattleManager.CheckAnglePlayer(ac.model,im.overlapEcastms[0].am.gameObject,30.0f)) return;
            //im.overlapEcastms[0].active = false;
            if (ecm.interractionEvent == InterractionEvent.Pickup)
            {
                PickUpItem();
                return;
            }

            //修正位置、朝向

            if (ecm.offset != Vector3.zero)
            {
                am.ToggleLock(true);
                transform.position = overlapEcastms[0].am.transform.position +
                                     overlapEcastms[0].am.transform.TransformVector(overlapEcastms[0].offset);
            }
            am.ac.model.transform.LookAt(ecm.am.transform.position, Vector3.up);

            am.ac.enableTurnDirection = false;
            if (ecm.interractionEvent == InterractionEvent.FrontStab)
            {
                am.ac.model.SendMessage("WeaponDisable");
                overlapEcastms[0].am.ac.model.SendMessage("WeaponDisable");
                am.dm.PlayTimeLine("frontStab", am, ecm.am);
            }
            else if (ecm.interractionEvent == InterractionEvent.Openbox)
            {
                am.wm.SetAllWeaponOnUseVisiable(false);
                am.dm.PlayTimeLine("openBox", am, ecm.am);
            }
            else if (ecm.interractionEvent == InterractionEvent.PullLevel)
            {
                am.dm.PlayTimeLine("leverUp", am, ecm.am);
            }
            else if (ecm.interractionEvent == InterractionEvent.Pickup)
            {
                PickUpItem();
            }
            else if (ecm.interractionEvent == InterractionEvent.BornFireLit)
            {
                //玩家播放点火动画,特定时间点播放声效.
                am.ac.LitFire();
                //篝火燃起来
                BoneFire boneFire = ecm.GetComponentInParent <BoneFire>();
                boneFire.Fire();
                boneFire.FireBurst();
                //保存篝火信息
            }
            else if (ecm.interractionEvent == InterractionEvent.BornFireSit)
            {
                am.ac.SitFire();
                am.wm.SetAllWeaponOnUseVisiable(false);
                am.ActorUIManager.ShowFirePanel();
            }
        }
    }