Exemplo n.º 1
0
    public long markId;//交互ID

    public override void InteractiveDetection(CharacterInteractiveCpt characterInt)
    {
        if (Input.GetButtonDown(InputInfo.Interactive_E))
        {
            GameEventHandler.Instance.EventTriggerForLook(markId);
        }
    }
Exemplo n.º 2
0
 public override void InteractiveDetection(CharacterInteractiveCpt characterInt)
 {
     //如果当前页面不是即将要打开的页面 并且当前页面是主界面
     if (Input.GetButtonDown(InputInfo.Interactive_E))
     {
         BaseUIComponent baseUIComponent    = UIHandler.Instance.manager.GetUI <BaseUIComponent>(uiType);
         BaseUIComponent currentUIComponent = UIHandler.Instance.manager.GetOpenUI();
         if (baseUIComponent != null)
         {
             if (currentUIComponent == baseUIComponent)
             {
             }
             else
             {
                 baseUIComponent = UIHandler.Instance.manager.OpenUIAndCloseOther <BaseUIComponent>(uiType);
                 if (!CheckUtil.StringIsNull(remarkData))
                 {
                     baseUIComponent.SetRemarkData(remarkData);
                 }
             }
         }
         else
         {
             baseUIComponent = UIHandler.Instance.manager.OpenUIAndCloseOther <BaseUIComponent>(uiType);
             if (!CheckUtil.StringIsNull(remarkData))
             {
                 baseUIComponent.SetRemarkData(remarkData);
             }
         }
     }
 }
Exemplo n.º 3
0
 public override void InteractiveDetection(CharacterInteractiveCpt characterInt)
 {
     if (Input.GetButtonDown(InputInfo.Interactive_E))
     {
         if (mInteractiveObj != null)
         {
             AudioHandler.Instance.PlaySound(AudioSoundEnum.Door);
             SceneMountainManager sceneTownManager = GameScenesHandler.Instance.manager.GetSceneManager <SceneMountainManager>();
             sceneTownManager.GetBuildingDoorPosition(positionChange, out Vector2 outDoorPosition, out Vector2 inDoorPosition);
             //本身是在外 要转换到里
             //int checkOutOrIn = 0;
             if (OutOrIn == 0)
             {
                 //checkOutOrIn = 1;
                 //关闭环境音效
                 AudioHandler.Instance.PauseEnvironment();
                 mInteractiveObj.transform.position = inDoorPosition;
             }
             //本身是在里 要转换到外
             else
             {
                 //checkOutOrIn = 0;
                 //开启环境音效
                 AudioHandler.Instance.RestoreEnvironment();
                 mInteractiveObj.transform.position = outDoorPosition;
             }
             //检测故事
             //eventHandler.EventTriggerForStory(positionChange, checkOutOrIn);
         }
     }
 }
Exemplo n.º 4
0
 public override void InteractiveDetection(CharacterInteractiveCpt characterInt)
 {
     if (Input.GetButtonDown(InputInfo.Interactive_E))
     {
         if (changeScene == ScenesEnum.GameSquareScene || changeScene == ScenesEnum.GameForestScene || changeScene == ScenesEnum.GameCourtyard)
         {
             ToastHandler.Instance.ToastHint("您被不可思议的力量阻挡了去路(暂未开放)");
         }
         else
         {
             if (changeScene == ScenesEnum.GameMountainScene)
             {
                 //如果山顶 特殊天气不能前往
                 WeatherBean weatherData = GameCommonInfo.CurrentDayData.weatherToday;
                 if (weatherData != null &&
                     (weatherData.weatherType == WeatherTypeEnum.Cloudy ||
                      weatherData.weatherType == WeatherTypeEnum.Sunny))
                 {
                     GameScenesHandler.Instance.ChangeScene(changeScene);
                 }
                 else
                 {
                     ToastHandler.Instance.ToastHint(TextHandler.Instance.manager.GetTextById(1321));
                 }
             }
             else
             {
                 GameScenesHandler.Instance.ChangeScene(changeScene);
             }
         }
     }
 }
Exemplo n.º 5
0
 public override void InteractiveStart(CharacterInteractiveCpt characterInt)
 {
     if (buildStairsCpt.layer == 1)
     {
         characterInt.ShowInteractive(TextHandler.Instance.manager.GetTextById(95));
     }
     else
     {
         characterInt.ShowInteractive(TextHandler.Instance.manager.GetTextById(96));
     }
 }
Exemplo n.º 6
0
    private void OnTriggerExit2D(Collider2D collision)
    {
        GameObject collisionObj = collision.gameObject;
        CharacterInteractiveCpt characterInt = collisionObj.GetComponent <CharacterInteractiveCpt>();

        if (characterInt != null)
        {
            InteractiveEnd(characterInt);
            canInteractive    = false;
            this.characterInt = null;
        }
    }
Exemplo n.º 7
0
    private void OnTriggerEnter2D(Collider2D collision)
    {
        GameObject collisionObj = collision.gameObject;
        CharacterInteractiveCpt characterInt = collisionObj.GetComponent <CharacterInteractiveCpt>();

        if (characterInt != null)
        {
            this.characterInt = characterInt;
            InteractiveStart(characterInt);
            canInteractive = true;
        }
    }
Exemplo n.º 8
0
 public override void InteractiveDetection(CharacterInteractiveCpt characterInt)
 {
     if (Input.GetButtonDown(InputInfo.Interactive_E))
     {
         InnHandler.Instance.innEntranceHandler.GetStairsPosition(buildStairsCpt.remarkId, out Vector3 layerFirstPosition, out Vector3 layerSecondPosition);
         if (buildStairsCpt.layer == 1)
         {
             characterInt.transform.position = layerSecondPosition;
         }
         else
         {
             characterInt.transform.position = layerFirstPosition;
         }
     }
 }
Exemplo n.º 9
0
 public override void InteractiveDetection(CharacterInteractiveCpt characterInt)
 {
     if (Input.GetButtonDown(InputInfo.Interactive_E))
     {
         if (GameEventHandler.Instance.GetEventStatus() == EventStatusEnum.EventEnd)
         {
             //先改变人物面向
             if (characterInt.transform.position.x > transform.position.x)
             {
                 mNpcAI.SetCharacterFace(2);
             }
             else
             {
                 mNpcAI.SetCharacterFace(1);
             }
             //获取人物信息
             NpcInfoBean npcInfo = mNpcAI.characterData.npcInfoData;
             GameEventHandler.Instance.EventTriggerForTalk(npcInfo, true);
             //如果角色有问题提示。则取消问号
             mNpcAI.CancelExpression();
         }
     }
 }
Exemplo n.º 10
0
 public override void InteractiveStart(CharacterInteractiveCpt characterInt)
 {
     characterInt.ShowInteractive(mNpcAI.characterData.baseInfo.name);
 }
Exemplo n.º 11
0
 public override void InteractiveEnd(CharacterInteractiveCpt characterInt)
 {
     characterInt.CloseInteractive();
 }
Exemplo n.º 12
0
 public override void InteractiveStart(CharacterInteractiveCpt characterInt)
 {
     characterInt.ShowInteractive(interactiveContent);
 }
Exemplo n.º 13
0
 public abstract void InteractiveDetection(CharacterInteractiveCpt characterInt);
Exemplo n.º 14
0
 public abstract void InteractiveEnd(CharacterInteractiveCpt characterInt);
Exemplo n.º 15
0
 public abstract void InteractiveStart(CharacterInteractiveCpt characterInt);
Exemplo n.º 16
0
 public override void InteractiveStart(CharacterInteractiveCpt characterInt)
 {
     TextInfoHandler.Instance.manager.GetTextById(TextEnum.Look, markId, SetTextInfoData);
 }
Exemplo n.º 17
0
 public override void InteractiveStart(CharacterInteractiveCpt characterInt)
 {
     this.mInteractiveObj = characterInt.gameObject;
     characterInt.ShowInteractive(interactiveContent);
 }
Exemplo n.º 18
0
 public override void InteractiveEnd(CharacterInteractiveCpt characterInt)
 {
     this.mInteractiveObj = null;
     characterInt.CloseInteractive();
 }