public void Attack(StalkerBehaviour at) { if (!IsInvoking("AttackEnd")) { Invoke("AttackEnd", attackDeltaTime); } }
// private void Start() { StalkerBehaviour s = null; if (to_save_data.player) { s = gameObject.AddComponent <StalkerControl> (); } else { s = gameObject.AddComponent <StalkerAI> (); } if (s) { anims = GetComponent <Animator> (); s.type = type; s.to_save_data = to_save_data; s.moveSpeed = moveSpeed; s.leftLegVector = leftLegVector; s.rightLegVector = rightLegVector; s.leftFoot = anims.GetBoneTransform(HumanBodyBones.LeftFoot); s.rightFoot = anims.GetBoneTransform(HumanBodyBones.RightFoot); } Destroy(this); }
public void Drop(int index, Vector3 position, Quaternion rotation) { GameObject obj = (GameObject)Resources.Load("ItemsObjects/Item_" + slots[index].itemID); if (obj) { StalkerBehaviour.Instantiate(obj, position, rotation); } RemoveSlot(index); }
public void SetNodeCorner(DialogNode node, RectTransform buttonsParent, Text actor, StalkerBehaviour stalker, GameObject bpo) { AudioClip c = node.actorReplic.sourceClip; bpo.SetActive(false); dialogCharacter = stalker; TextSetter.SetTextByTime(actor, node.actorReplic.sourceText, c.length, delegate { PrepareNode(node, buttonsParent, actor, stalker, bpo); }); stalker.PlaySound(c, GetVoice(node.actorReplic.actor)); }
private void Start() { StalkerStart(); camera_main = Camera.main; cam_trans = camera_main.transform; cam_parent_trans = cam_trans.parent; camera_euler = Vector3.right * to_save_data.euler_x; TouchController.crouch = to_save_data.crouch; player = this; CameraDelegateData.onPreRender = delegate { CameraMotor(); }; }
public bool ToDialogWithNearest(bool enterToDialog) { StalkerBehaviour nearest = null; if (StalkerControl.player) { IEnumerable <StalkerBehaviour> search = StalkerBehaviour.behaviours.Where((StalkerBehaviour arg) => StalkerControl.player.IsNearStalker(arg) && arg != StalkerControl.player); search = search.OrderBy((StalkerBehaviour arg) => (transform.position - arg.trans.position).magnitude); if (search.ToArray().Length > 0) { nearest = search.ToArray() [0]; if (enterToDialog) { ToDialog(nearest); } } } return(nearest != null); }
public void SayReplic(DialogButton button, StalkerBehaviour stalker, RectTransform bp, Text actor, GameObject bpo) { StalkerControl.player.PlaySound(button.replic.sourceClip, GetVoice(button.replic.actor)); AudioClip c = button.replic.sourceClip; bpo.SetActive(false); TextSetter.SetTextByTime(actor, button.replic.sourceText, c.length, delegate { if (button.nextNodeIndex < 0) { CloseDialog(); } else { currentDialogIndex = button.nextNodeIndex; SetNodeCorner(currentNode, bp, actor, stalker, bpo); } }); }
private void ApplyGame(Game game) { GameObject stalker_prefab = (GameObject)Resources.Load("Prefabs/Stalker"); StalkerBehaviour[] stalkers = StalkerBehaviour.FindObjectsOfType <StalkerBehaviour> (); for (int i = 0; i < stalkers.Length; i++) { Destroy(stalkers[i].gameObject); } for (int g = 0; g < game.groups.Length; g++) { for (int s = 0; s < game.groups[g].stalkers.Length; s++) { Instantiate(stalker_prefab).GetComponent <StalkerBehaviour>().to_save_data = game.groups[g].stalkers[s]; } } for (int i = 0; i < game.items.Length; i++) { GameObject pref = (GameObject)Resources.Load("ItemsObjects/Item_" + game.items[i].id); Instantiate(pref, game.items[i].position, Quaternion.identity); } }
public void ToDialog(StalkerBehaviour with) { if (with.to_save_data.dialog.Length > 0) { bool hasData = true; switch (with.to_save_data.dialog) { case "Osobist3": currentDialogSystem = DialogSystem.osobist3; break; default: hasData = false; break; } if (hasData) { currentDialogSystem.StartDialog(); currentDialogSystem.SetNodeCorner(currentDialogSystem.currentNode, dialogButtonsParent, actor, with, dialogScrollSys); } } }
private void SinhroniseView() { settings_mask.anchoredPosition = Vector3.up * (settings_mask.sizeDelta.y * settings_scroll.value + settings_pos); load_mask.anchoredPosition = Vector3.up * (load_mask.sizeDelta.y * load_scroll.value + load_pos); new_mask.anchoredPosition = Vector3.up * (new_mask.sizeDelta.y * new_scroll.value + new_pos); if (runtime) { dialogEnterButton.SetActive(ToDialogWithNearest(false)); if (currentDialogSystem != null && StalkerControl.player && StalkerControl.player.trans && currentDialogSystem.dialogCharacter) { StalkerBehaviour with = currentDialogSystem.dialogCharacter; StalkerControl.player.SafetyLookAt((with.trans.position - StalkerControl.player.trans.position).normalized); with.SafetyLookAt((StalkerControl.player.trans.position - with.trans.position).normalized); } } if (memory) { memory.text = "Используется память : " + MemoryUsed(); } if (menu_state == MenuState.Dialog) { } }
private void Update() { if (beh) { if (lastLength != inv.slots.Length || inv.haveToRefresh) { ReloadInventory(); inv.haveToRefresh = false; } if (!addedStart && Game.gt == Game.GameType.NewGame) { inv.AddClearItem(0); inv.AddClearItem(1); inv.AddClearItem(2); inv.AddClearItem(3); Debug.Log("Added"); addedStart = true; } } else { beh = StalkerControl.player; } }
private Game CreateFromGame() { Game g = new Game(); g.groups = new GroupClass[2]; for (int i = 0; i < g.groups.Length; i++) { g.groups[i] = new GroupClass(); g.groups[i].group = (ToSaveData.Group)i; List <ToSaveData> tsd = new List <ToSaveData>(); StalkerBehaviour[] stalkers = StalkerBehaviour.FindObjectsOfType <StalkerBehaviour> (); for (int s = 0; s < stalkers.Length; s++) { if (stalkers[s].to_save_data.group == g.groups[i].group) { tsd.Add(stalkers[s].to_save_data); } } g.groups[i].stalkers = tsd.ToArray(); } ItemObject[] items = FindObjectsOfType <ItemObject> (); List <ItemSavable> savs = new List <ItemSavable> (); for (int i = 0; i < items.Length; i++) { savs.Add(items[i].sav); } g.items = savs.ToArray(); return(g); }
private void Start() { beh = StalkerControl.player; }
public bool MayAttack(StalkerBehaviour who, StalkerBehaviour at) { return(true); }
public bool IsNearStalker(StalkerBehaviour stalker) { return((stalker.trans.position - trans.position).magnitude < 2); }
public void PrepareNode(DialogNode node, RectTransform buttonsParent, Text actor, StalkerBehaviour stalker, GameObject bpo) { bpo.SetActive(true); Button[] bt = buttonsParent.GetComponentsInChildren <Button> (); foreach (var b in bt) { GameObject.Destroy(b.gameObject); } if (node.playerReplics.Length < 1) { CloseDialog(); return; } GameObject buttonPrefab = Resources.Load <GameObject> ("Prefabs/DialogSlot"); int collumns = 2; if (node.playerReplics.Length < 2) { collumns = 1; } TextSetter.SetText(actor, node.actorReplic.sourceText); float[] sizes = new float[collumns]; for (int i = 0; i < node.playerReplics.Length; i++) { int c = i % collumns; RectTransform trans = GameObject.Instantiate(buttonPrefab, buttonsParent).GetComponent <RectTransform> (); trans.anchoredPosition = new Vector2((buttonsParent.rect.width / collumns) * c, sizes [c]); trans.SetSizeWithCurrentAnchors(RectTransform.Axis.Horizontal, (buttonsParent.rect.width / collumns)); Text t = trans.GetComponentInChildren <Text> (); TextSetter.SetText(t, node.playerReplics [i].replic.shortText); trans.SetSizeWithCurrentAnchors(RectTransform.Axis.Vertical, t.rectTransform.rect.height + 30); sizes [c] += trans.rect.height; DialogButton cur = node.playerReplics [i]; trans.GetComponent <Button> ().onClick.AddListener(delegate { SayReplic(cur, stalker, buttonsParent, actor, bpo); }); } buttonsParent.SetSizeWithCurrentAnchors(RectTransform.Axis.Vertical, sizes.OrderByDescending((float arg) => arg).ToArray() [0]); }