void UpdateServer() { switch (m_status) { case (int)GhostStateID.MAIN: m_ghostMain.m_pStateMachine.ChangeState(CGhostState_Main.Instance()); break; case (int)GhostStateID.ATK: m_ghostMain.m_pStateMachine.ChangeState(CGhostState_Atk.Instance()); break; case (int)GhostStateID.AVATAR: m_ghostMain.m_pStateMachine.ChangeState(CGhostState_Avatar.Instance()); break; case (int)GhostStateID.DASH: m_ghostMain.m_pStateMachine.ChangeState(CGhostState_Dash.Instance()); break; case (int)GhostStateID.MOVE: m_ghostMain.m_pStateMachine.ChangeState(CGhostState_Move.Instance()); break; case (int)GhostStateID.SLOW: m_ghostMain.m_pStateMachine.ChangeState(CGhostState_Slow.Instance()); break; case (int)GhostStateID.STAN: m_ghostMain.m_pStateMachine.ChangeState(CGhostState_Stan.Instance()); break; case (int)GhostStateID.WAIT: m_ghostMain.m_pStateMachine.ChangeState(CGhostState_Wait.Instance()); break; } }
/*! HitCheckCharacter( Collider ) *! \details 照らされているかチェック *! *! \return 戻り値 */ private void HitCheckCharacter() { /* 処理の軽量化 */ bool isUpdate = Time.frameCount % UPDATE_FRAME == 0; if (!isUpdate) { return; } // --- 各オブジェクトのイベント --- /* 人 */ for (int i = 0; i < m_humanList.Count; i++) { var human = m_humanList[i]; if (!human.islightIn) { continue; } // Debug.Log( m_humanList[i]._instance.name + "のチェック" ); if (!RayCheck(human._instance.transform)) { // Debug.Log( human._instance.name + "は照らされていない。" ); human._instance.LightOn = false; m_humanList[i] = human; continue; } // 人のイベント // Debug.Log( human._instance.name + "は照らされている。" ); human._instance.LightOn = true; m_humanList[i] = human; } /* ダミーお化け */ for (int i = 0; i < m_dymmyGhostList.Count; i++) { var dummy = m_dymmyGhostList[i]; // Debug.Log( "ダミーお化け\nName:" + dummy._instance.name + "\n光に入っているか:" + dummy.islightIn // + "\n変数:" + m_dymmyGhostList[i]._instance.m_viewStatus ); if (!dummy.islightIn) { continue; } if (!RayCheck(dummy._instance.transform)) { dummy._instance.m_viewStatus = DummyGhost.GHOTS_VIEW_STATUS.INVISIBLE; m_dymmyGhostList[i] = dummy; continue; } dummy._instance.m_viewStatus = DummyGhost.GHOTS_VIEW_STATUS.VISIBLE; m_dymmyGhostList[i] = dummy; } //* お化け */ if (!m_ghost.islightIn) { return; } if (!m_ghost._instance) { return; } if (!RayCheck(m_ghost._instance.transform)) { m_ghost._instance.m_viewStatus = GhostMain.GHOTS_VIEW_STATUS.INVISIBLE; } else { m_ghost._instance.m_pStateMachine.ChangeGlobalState(CGhostState_Slow.Instance()); } // お化けのイベント // Debug.Log( m_ghost._instance.name + "は照らされている。" ); }